Commit c0d8932a authored by Anssi Kääriäinen's avatar Anssi Kääriäinen
Browse files

Fixed #19939 -- generic relations + split_exclude regression

Added a test, the issue was already fixed (likely by the patch
for #19385).
parent 92351c74
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -98,3 +98,7 @@ class Gecko(models.Model):
# To test fix for #11263
class Rock(Mineral):
    tags = generic.GenericRelation(TaggedItem)

class ManualPK(models.Model):
    id = models.IntegerField(primary_key=True)
    tags = generic.GenericRelation(TaggedItem)
+6 −1
Original line number Diff line number Diff line
@@ -6,7 +6,7 @@ from django.contrib.contenttypes.models import ContentType
from django.test import TestCase

from .models import (TaggedItem, ValuableTaggedItem, Comparison, Animal,
    Vegetable, Mineral, Gecko, Rock)
    Vegetable, Mineral, Gecko, Rock, ManualPK)


class GenericRelationsTests(TestCase):
@@ -75,12 +75,17 @@ class GenericRelationsTests(TestCase):
            "<Animal: Lion>",
            "<Animal: Platypus>"
        ])
        # Create another fatty tagged instance with different PK to ensure
        # there is a content type restriction in the generated queries below.
        mpk = ManualPK.objects.create(id=lion.pk)
        mpk.tags.create(tag="fatty")
        self.assertQuerysetEqual(Animal.objects.filter(tags__tag='fatty'), [
            "<Animal: Platypus>"
        ])
        self.assertQuerysetEqual(Animal.objects.exclude(tags__tag='fatty'), [
            "<Animal: Lion>"
        ])
        mpk.delete()

        # If you delete an object with an explicit Generic relation, the related
        # objects are deleted when the source object is deleted.