Avoided related_name conflicts in tests

This commit is contained in:
Anssi Kääriäinen 2013-02-19 03:12:37 +02:00
parent 607772b942
commit 4b9fa49bc0
2 changed files with 7 additions and 7 deletions

View File

@ -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):
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',)

View File

@ -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):
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})