基于通用关系检索模型

时间:2015-10-01 15:12:25

标签: python django

我有一个GenericForeignKey代表评论的模型:

class Comment(models.Model):
    ...
    content_type = models.ForeignKey(ContentType)
    object_id = models.PositiveIntegerField()
    content_object = GenericForeignKey('content_type', 'object_id')

和几个与之相关的模型

class Foo(PiuModel):
    ...
    comments = GenericRelation(Comment, related_query_name=‘foos’)

class Bar(PiuModel):
    ...
    comments = GenericRelation(Comment, related_query_name=‘bars’)

是否有一种简单的方法可以检索具有此ContentType作为查询集的模型的所有GenericRelation?如果不是最简单的方法?

1 个答案:

答案 0 :(得分:0)

from django.contrib.contenttypes.models import ContentType

ct = Comment.objects.values_list('content_type, flat=True).distinct()
content_types = ContentType.objects.filter(id__in=ct)