|
12 | 12 | from .models import (
|
13 | 13 | AllowsNullGFK, Animal, Comparison, ConcreteRelatedModel,
|
14 | 14 | ForConcreteModelModel, ForProxyModelModel, Gecko, ManualPK, Mineral,
|
15 |
| - ProxyRelatedModel, Rock, TaggedItem, ValuableTaggedItem, Vegetable, |
| 15 | + ProxyRelatedModel, Rock, TaggedItem, ValuableRock, ValuableTaggedItem, |
| 16 | + Vegetable, |
16 | 17 | )
|
17 | 18 |
|
18 | 19 |
|
@@ -400,6 +401,13 @@ def test_gfk_subclasses(self):
|
400 | 401 | )
|
401 | 402 | self.assertEqual(valuedtag.content_object, quartz)
|
402 | 403 |
|
| 404 | + def test_generic_relation_to_inherited_child(self): |
| 405 | + # GenericRelations to models that use multi-table inheritance work. |
| 406 | + granite = ValuableRock.objects.create(name='granite', hardness=5) |
| 407 | + ValuableTaggedItem.objects.create(content_object=granite, tag="countertop", value=1) |
| 408 | + granite.delete() # deleting the rock should delete the related tag. |
| 409 | + self.assertEqual(ValuableTaggedItem.objects.count(), 0) |
| 410 | + |
403 | 411 | def test_generic_inline_formsets(self):
|
404 | 412 | GenericFormSet = generic_inlineformset_factory(TaggedItem, extra=1)
|
405 | 413 | formset = GenericFormSet()
|
|
0 commit comments