mirror of
https://github.com/django/django.git
synced 2025-10-24 06:06:09 +00:00
Fixed #31750 -- Made models.Field equality compare models for inherited fields.
This commit is contained in:
committed by
Mariusz Felisiak
parent
453967477e
commit
502e75f9ed
@@ -102,6 +102,36 @@ class BasicFieldTests(SimpleTestCase):
|
||||
name, path, args, kwargs = Nested.Field().deconstruct()
|
||||
self.assertEqual(path, 'model_fields.tests.Nested.Field')
|
||||
|
||||
def test_abstract_inherited_fields(self):
|
||||
"""Field instances from abstract models are not equal."""
|
||||
class AbstractModel(models.Model):
|
||||
field = models.IntegerField()
|
||||
|
||||
class Meta:
|
||||
abstract = True
|
||||
|
||||
class InheritAbstractModel1(AbstractModel):
|
||||
pass
|
||||
|
||||
class InheritAbstractModel2(AbstractModel):
|
||||
pass
|
||||
|
||||
abstract_model_field = AbstractModel._meta.get_field('field')
|
||||
inherit1_model_field = InheritAbstractModel1._meta.get_field('field')
|
||||
inherit2_model_field = InheritAbstractModel2._meta.get_field('field')
|
||||
|
||||
self.assertNotEqual(abstract_model_field, inherit1_model_field)
|
||||
self.assertNotEqual(abstract_model_field, inherit2_model_field)
|
||||
self.assertNotEqual(inherit1_model_field, inherit2_model_field)
|
||||
|
||||
self.assertLess(abstract_model_field, inherit1_model_field)
|
||||
self.assertLess(abstract_model_field, inherit2_model_field)
|
||||
self.assertLess(inherit1_model_field, inherit2_model_field)
|
||||
|
||||
self.assertNotEqual(hash(abstract_model_field), hash(inherit1_model_field))
|
||||
self.assertNotEqual(hash(abstract_model_field), hash(inherit2_model_field))
|
||||
self.assertNotEqual(hash(inherit1_model_field), hash(inherit2_model_field))
|
||||
|
||||
|
||||
class ChoicesTests(SimpleTestCase):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user