Changeset 8908
- Timestamp:
- 09/03/08 00:53:50 (3 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/django/db/models/base.py
r8855 r8908 88 88 # uninteresting parents. 89 89 continue 90 90 91 91 # All the fields of any type declared on this model 92 92 new_fields = new_class._meta.local_fields + \ 93 new_class._meta. many_to_many + \93 new_class._meta.local_many_to_many + \ 94 94 new_class._meta.virtual_fields 95 95 field_names = set([f.name for f in new_fields]) 96 96 97 97 # Concrete classes... 98 98 if not base._meta.abstract: … … 107 107 new_class.add_to_class(attr_name, field) 108 108 new_class._meta.parents[base] = field 109 109 110 110 # .. and abstract ones. 111 111 else: … … 128 128 new_manager = manager._copy_to_model(new_class) 129 129 new_class.add_to_class(mgr_name, new_manager) 130 130 131 131 # Inherit virtual fields (like GenericForeignKey) from the parent class 132 132 for field in base._meta.virtual_fields: … … 137 137 (field.name, name, base.__name__)) 138 138 new_class.add_to_class(field.name, copy.deepcopy(field)) 139 139 140 140 if abstract: 141 141 # Abstract base models can't be instantiated and don't appear in django/trunk/tests/regressiontests/model_inheritance_regress/models.py
r8821 r8908 70 70 71 71 class ArticleWithAuthor(Article): 72 author = models.CharField(max_length=100) 72 author = models.CharField(max_length=100) 73 74 class M2MBase(models.Model): 75 articles = models.ManyToManyField(Article) 76 77 class M2MChild(M2MBase): 78 name = models.CharField(max_length=50) 73 79 74 80 __test__ = {'API_TESTS':""" … … 232 238 DoesNotExist: ArticleWithAuthor matching query does not exist. 233 239 240 # Regression test for #8825: Make sure all inherited fields (esp. m2m fields, in 241 # this case) appear on the child class. 242 >>> M2MChild.objects.filter(articles__isnull=False) 243 [] 244 234 245 """}
