Avoided related_name conflicts in tests
This commit is contained in:
parent
607772b942
commit
4b9fa49bc0
|
@ -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',)
|
||||||
|
|
|
@ -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})
|
||||||
|
|
Loading…
Reference in New Issue