mirror of
https://github.com/django/django.git
synced 2025-11-25 05:04:26 +00:00
This commit is contained in:
parent
384cdf0f7a
commit
84e91262d6
3 changed files with 32 additions and 2 deletions
|
|
@ -184,6 +184,32 @@ class AbstractInheritanceTests(SimpleTestCase):
|
|||
ExtendModelAbstract._meta.get_field("field"), GenericRelation
|
||||
)
|
||||
|
||||
def test_override_private_field_with_attr(self):
|
||||
class AbstractBase(models.Model):
|
||||
content_type = models.ForeignKey(
|
||||
ContentType, on_delete=models.SET_NULL, null=True, blank=True
|
||||
)
|
||||
object_id = models.PositiveIntegerField(null=True, blank=True)
|
||||
related_object = GenericForeignKey("content_type", "object_id")
|
||||
|
||||
class Meta:
|
||||
abstract = True
|
||||
|
||||
class Descendant(AbstractBase):
|
||||
related_object = None
|
||||
|
||||
class Mixin:
|
||||
related_object = None
|
||||
|
||||
class MultiDescendant(Mixin, AbstractBase):
|
||||
pass
|
||||
|
||||
with self.assertRaises(FieldDoesNotExist):
|
||||
Descendant._meta.get_field("related_object")
|
||||
|
||||
with self.assertRaises(FieldDoesNotExist):
|
||||
MultiDescendant._meta.get_field("related_object")
|
||||
|
||||
def test_cannot_override_indirect_abstract_field(self):
|
||||
class AbstractBase(models.Model):
|
||||
name = models.CharField(max_length=30)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue