1
0
mirror of https://github.com/django/django.git synced 2025-10-30 00:56:09 +00:00

[1.5.x] Fixed #17991 - prefetch_related fails with GenericRelation and varchar ID field

Thanks to okke@formsma.nl for the report, and carmandrew@gmail.com for the tests.

Backport of ccd14ff25b7642678bf3c9ed8a12643f04853144 from master
This commit is contained in:
Luke Plant
2012-10-29 13:40:32 +00:00
parent f427ecdc88
commit d7d7ad2881
3 changed files with 23 additions and 3 deletions

View File

@@ -125,6 +125,10 @@ class TaggedItem(models.Model):
related_name='taggeditem_set3')
created_by_fkey = models.PositiveIntegerField(null=True)
created_by = generic.GenericForeignKey('created_by_ct', 'created_by_fkey',)
favorite_ct = models.ForeignKey(ContentType, null=True,
related_name='taggeditem_set4')
favorite_fkey = models.CharField(max_length=64, null=True)
favorite = generic.GenericForeignKey('favorite_ct', 'favorite_fkey')
def __str__(self):
return self.tag
@@ -132,7 +136,11 @@ class TaggedItem(models.Model):
class Bookmark(models.Model):
url = models.URLField()
tags = generic.GenericRelation(TaggedItem)
tags = generic.GenericRelation(TaggedItem, related_name='bookmarks')
favorite_tags = generic.GenericRelation(TaggedItem,
content_type_field='favorite_ct',
object_id_field='favorite_fkey',
related_name='favorite_bookmarks')
class Comment(models.Model):