mirror of
				https://github.com/django/django.git
				synced 2025-10-31 09:41:08 +00:00 
			
		
		
		
	Fixed #7342: Ignore any Meta options starting with '_', thus making it OK for Meta to be a newstyle class. Thanks, Gulopine.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@7585 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
		| @@ -56,8 +56,12 @@ class Options(object): | ||||
|         # Next, apply any overridden values from 'class Meta'. | ||||
|         if self.meta: | ||||
|             meta_attrs = self.meta.__dict__.copy() | ||||
|             del meta_attrs['__module__'] | ||||
|             del meta_attrs['__doc__'] | ||||
|             for name in self.meta.__dict__: | ||||
|                 # Ignore any private attributes that Django doesn't care about. | ||||
|                 # NOTE: We can't modify a dictionary's contents while looping | ||||
|                 # over it, so we loop over the *original* dictionary instead. | ||||
|                 if name.startswith('_'): | ||||
|                     del meta_attrs[name] | ||||
|             for attr_name in DEFAULT_NAMES: | ||||
|                 if attr_name in meta_attrs: | ||||
|                     setattr(self, attr_name, meta_attrs.pop(attr_name)) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user