mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Fixed #23697 -- Improved ForeignObject.get_lookup_constraint() error message.
This commit is contained in:
		
				
					committed by
					
						 Tim Graham
						Tim Graham
					
				
			
			
				
	
			
			
			
						parent
						
							a4a58811b9
						
					
				
				
					commit
					00e667728b
				
			| @@ -1766,7 +1766,12 @@ class ForeignObject(RelatedField): | ||||
|         root_constraint = constraint_class() | ||||
|         assert len(targets) == len(sources) | ||||
|         if len(lookups) > 1: | ||||
|             raise exceptions.FieldError('Relation fields do not support nested lookups') | ||||
|             raise exceptions.FieldError( | ||||
|                 "Cannot resolve keyword %r into field. Choices are: %s" % ( | ||||
|                     lookups[0], | ||||
|                     ", ".join(f.name for f in self.model._meta.get_fields()), | ||||
|                 ) | ||||
|             ) | ||||
|         lookup_type = lookups[0] | ||||
|  | ||||
|         def get_normalized_value(value): | ||||
|   | ||||
| @@ -1164,6 +1164,15 @@ class Queries1Tests(BaseQuerysetTest): | ||||
|             ['<Author: a1>', '<Author: a2>', '<Author: a3>', '<Author: a4>'] | ||||
|         ) | ||||
|  | ||||
|     def test_lookup_constraint_fielderror(self): | ||||
|         msg = ( | ||||
|             "Cannot resolve keyword 'unknown_field' into field. Choices are: " | ||||
|             "annotation, category, category_id, children, id, item, " | ||||
|             "managedmodel, name, parent, parent_id" | ||||
|         ) | ||||
|         with self.assertRaisesMessage(FieldError, msg): | ||||
|             Tag.objects.filter(unknown_field__name='generic') | ||||
|  | ||||
|  | ||||
| class Queries2Tests(TestCase): | ||||
|     @classmethod | ||||
|   | ||||
		Reference in New Issue
	
	Block a user