Commit c4b66592 authored by Ramiro Morales's avatar Ramiro Morales
Browse files

Added test to demonstrate issue 11263 isn't there anymore.

Thanks veena for the report and jaklaassen for the patch. Fixes #11263.
parent 5f7eecd0
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -94,3 +94,7 @@ class GeckoManager(models.Manager):
class Gecko(models.Model):
    has_tail = models.BooleanField()
    objects = GeckoManager()

# To test fix for #11263
class Rock(Mineral):
    tags = generic.GenericRelation(TaggedItem)
+11 −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)
    Vegetable, Mineral, Gecko, Rock)


class GenericRelationsTests(TestCase):
@@ -231,6 +231,16 @@ class GenericRelationsTests(TestCase):
        tag = TaggedItem.objects.create(content_object=tailless, tag="lizard")
        self.assertEqual(tag.content_object, tailless)

    def test_subclasses_with_gen_rel(self):
        """
        Test that concrete model subclasses with generic relations work
        correctly (ticket 11263).
        """
        granite = Rock.objects.create(name='granite', hardness=5)
        TaggedItem.objects.create(content_object=granite, tag="countertop")
        self.assertEqual(Rock.objects.filter(tags__tag="countertop").count(), 1)


class CustomWidget(forms.TextInput):
    pass