Django:查询GenericRelation为null的位置

时间:2011-11-18 15:34:50

标签: python django

我想查询一个模型,查看通用关系字段不为空的实例(也就是说,在下面的示例中,我正在查找document.count()> 0)的实例:

class Report(models.Model):
    document   = generic.GenericRelation(Document)

类似的东西:

Report.objects.filter(date__gte=twomonths).exclude(document__isnull=True)

不幸的是,这不起作用 - 查询返回没有“文档”的对象(即它返回document.count()为0的对象。)

有没有办法查询泛型关系为空的实例?

1 个答案:

答案 0 :(得分:2)

我相信你的问题仍然可能存在一些矛盾。注意:“我正在寻找document.count()== 0”的实例,然后,“不幸的是,这不起作用 - 查询返回没有'文档'的对象(即它返回文档的对象)。 count()为0)“。

如果您希望Report包含文档,您可以使用:

Report.objects.filter(document__isnull=True)

或者

Report.objects.exclude(document__isnull=False)

如果您希望Report包含至少一个文档,您可以使用:

Report.objects.filter(document__isnull=False)

或者

Report.objects.exclude(document__isnull=True)