mirror of
				https://github.com/django/django.git
				synced 2025-10-27 23:56:08 +00:00 
			
		
		
		
	[8721] introduced some internal field names. We hide them from the list of
valid field names in debugging output so that it doesn't confuse things. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8730 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
		| @@ -280,7 +280,9 @@ class Options(object): | |||||||
|     def get_all_field_names(self): |     def get_all_field_names(self): | ||||||
|         """ |         """ | ||||||
|         Returns a list of all field names that are possible for this model |         Returns a list of all field names that are possible for this model | ||||||
|         (including reverse relation names). |         (including reverse relation names). This is used for pretty printing | ||||||
|  |         debugging output (a list of choices), so any internal-only field names | ||||||
|  |         are not included. | ||||||
|         """ |         """ | ||||||
|         try: |         try: | ||||||
|             cache = self._name_map |             cache = self._name_map | ||||||
| @@ -288,7 +290,9 @@ class Options(object): | |||||||
|             cache = self.init_name_map() |             cache = self.init_name_map() | ||||||
|         names = cache.keys() |         names = cache.keys() | ||||||
|         names.sort() |         names.sort() | ||||||
|         return names |         # Internal-only names end with "+" (symmetrical m2m related names being | ||||||
|  |         # the main example). Trim them. | ||||||
|  |         return [val for val in names if not val.endswith('+')] | ||||||
|  |  | ||||||
|     def init_name_map(self): |     def init_name_map(self): | ||||||
|         """ |         """ | ||||||
|   | |||||||
| @@ -52,5 +52,12 @@ __test__ = {"regressions": """ | |||||||
| >>> e1.related.all() | >>> e1.related.all() | ||||||
| [<Tag: t2>] | [<Tag: t2>] | ||||||
|  |  | ||||||
|  | # The secret internal related names for self-referential many-to-many fields | ||||||
|  | # shouldn't appear in the list when an error is made. | ||||||
|  | >>> SelfRefer.objects.filter(porcupine='fred') | ||||||
|  | Traceback (most recent call last): | ||||||
|  | ... | ||||||
|  | FieldError: Cannot resolve keyword 'porcupine' into field. Choices are: id, name, references, related | ||||||
|  |  | ||||||
| """ | """ | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user