Kaydet (Commit) 4b9fa49b authored tarafından Anssi Kääriäinen's avatar Anssi Kääriäinen

Avoided related_name conflicts in tests

üst 607772b9
...@@ -24,7 +24,7 @@ class Publisher(models.Model): ...@@ -24,7 +24,7 @@ class Publisher(models.Model):
return self.name return self.name
class TaggedItem(models.Model): class ItemTag(models.Model):
tag = models.CharField(max_length=100) tag = models.CharField(max_length=100)
content_type = models.ForeignKey(ContentType) content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField() object_id = models.PositiveIntegerField()
...@@ -42,7 +42,7 @@ class Book(models.Model): ...@@ -42,7 +42,7 @@ class Book(models.Model):
contact = models.ForeignKey(Author, related_name='book_contact_set') contact = models.ForeignKey(Author, related_name='book_contact_set')
publisher = models.ForeignKey(Publisher) publisher = models.ForeignKey(Publisher)
pubdate = models.DateField() pubdate = models.DateField()
tags = generic.GenericRelation(TaggedItem) tags = generic.GenericRelation(ItemTag)
class Meta: class Meta:
ordering = ('name',) ordering = ('name',)
......
...@@ -12,7 +12,7 @@ from django.test import TestCase, Approximate, skipUnlessDBFeature ...@@ -12,7 +12,7 @@ from django.test import TestCase, Approximate, skipUnlessDBFeature
from django.utils import six from django.utils import six
from .models import (Author, Book, Publisher, Clues, Entries, HardbackBook, from .models import (Author, Book, Publisher, Clues, Entries, HardbackBook,
TaggedItem, WithManualPK) ItemTag, WithManualPK)
class AggregationTests(TestCase): class AggregationTests(TestCase):
...@@ -993,18 +993,18 @@ class AggregationTests(TestCase): ...@@ -993,18 +993,18 @@ class AggregationTests(TestCase):
tests aggregations with generic reverse relations tests aggregations with generic reverse relations
""" """
b = Book.objects.get(name='Practical Django Projects') b = Book.objects.get(name='Practical Django Projects')
TaggedItem.objects.create(object_id=b.id, tag='intermediate', ItemTag.objects.create(object_id=b.id, tag='intermediate',
content_type=ContentType.objects.get_for_model(b)) content_type=ContentType.objects.get_for_model(b))
TaggedItem.objects.create(object_id=b.id, tag='django', ItemTag.objects.create(object_id=b.id, tag='django',
content_type=ContentType.objects.get_for_model(b)) content_type=ContentType.objects.get_for_model(b))
# Assign a tag to model with same PK as the book above. If the JOIN # Assign a tag to model with same PK as the book above. If the JOIN
# used in aggregation doesn't have content type as part of the # used in aggregation doesn't have content type as part of the
# condition the annotation will also count the 'hi mom' tag for b. # condition the annotation will also count the 'hi mom' tag for b.
wmpk = WithManualPK.objects.create(id=b.pk) wmpk = WithManualPK.objects.create(id=b.pk)
TaggedItem.objects.create(object_id=wmpk.id, tag='hi mom', ItemTag.objects.create(object_id=wmpk.id, tag='hi mom',
content_type=ContentType.objects.get_for_model(wmpk)) content_type=ContentType.objects.get_for_model(wmpk))
b = Book.objects.get(name__startswith='Paradigms of Artificial Intelligence') b = Book.objects.get(name__startswith='Paradigms of Artificial Intelligence')
TaggedItem.objects.create(object_id=b.id, tag='intermediate', ItemTag.objects.create(object_id=b.id, tag='intermediate',
content_type=ContentType.objects.get_for_model(b)) content_type=ContentType.objects.get_for_model(b))
self.assertEqual(Book.objects.aggregate(Count('tags')), {'tags__count': 3}) self.assertEqual(Book.objects.aggregate(Count('tags')), {'tags__count': 3})
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment