Loading tests/generic_relations/models.py +4 −0 Original line number Diff line number Diff line Loading @@ -114,6 +114,10 @@ class Rock(Mineral): tags = GenericRelation(TaggedItem) class ValuableRock(Mineral): tags = GenericRelation(ValuableTaggedItem) class ManualPK(models.Model): id = models.IntegerField(primary_key=True) tags = GenericRelation(TaggedItem, related_query_name='manualpk') Loading tests/generic_relations/tests.py +9 −1 Original line number Diff line number Diff line Loading @@ -12,7 +12,8 @@ from django.utils import six from .models import ( AllowsNullGFK, Animal, Comparison, ConcreteRelatedModel, ForConcreteModelModel, ForProxyModelModel, Gecko, ManualPK, Mineral, ProxyRelatedModel, Rock, TaggedItem, ValuableTaggedItem, Vegetable, ProxyRelatedModel, Rock, TaggedItem, ValuableRock, ValuableTaggedItem, Vegetable, ) Loading Loading @@ -400,6 +401,13 @@ class GenericRelationsTests(TestCase): ) self.assertEqual(valuedtag.content_object, quartz) def test_generic_relation_to_inherited_child(self): # GenericRelations to models that use multi-table inheritance work. granite = ValuableRock.objects.create(name='granite', hardness=5) ValuableTaggedItem.objects.create(content_object=granite, tag="countertop", value=1) granite.delete() # deleting the rock should delete the related tag. self.assertEqual(ValuableTaggedItem.objects.count(), 0) def test_generic_inline_formsets(self): GenericFormSet = generic_inlineformset_factory(TaggedItem, extra=1) formset = GenericFormSet() Loading Loading
tests/generic_relations/models.py +4 −0 Original line number Diff line number Diff line Loading @@ -114,6 +114,10 @@ class Rock(Mineral): tags = GenericRelation(TaggedItem) class ValuableRock(Mineral): tags = GenericRelation(ValuableTaggedItem) class ManualPK(models.Model): id = models.IntegerField(primary_key=True) tags = GenericRelation(TaggedItem, related_query_name='manualpk') Loading
tests/generic_relations/tests.py +9 −1 Original line number Diff line number Diff line Loading @@ -12,7 +12,8 @@ from django.utils import six from .models import ( AllowsNullGFK, Animal, Comparison, ConcreteRelatedModel, ForConcreteModelModel, ForProxyModelModel, Gecko, ManualPK, Mineral, ProxyRelatedModel, Rock, TaggedItem, ValuableTaggedItem, Vegetable, ProxyRelatedModel, Rock, TaggedItem, ValuableRock, ValuableTaggedItem, Vegetable, ) Loading Loading @@ -400,6 +401,13 @@ class GenericRelationsTests(TestCase): ) self.assertEqual(valuedtag.content_object, quartz) def test_generic_relation_to_inherited_child(self): # GenericRelations to models that use multi-table inheritance work. granite = ValuableRock.objects.create(name='granite', hardness=5) ValuableTaggedItem.objects.create(content_object=granite, tag="countertop", value=1) granite.delete() # deleting the rock should delete the related tag. self.assertEqual(ValuableTaggedItem.objects.count(), 0) def test_generic_inline_formsets(self): GenericFormSet = generic_inlineformset_factory(TaggedItem, extra=1) formset = GenericFormSet() Loading