我想查询一个模型,查看通用关系字段不为空的实例(也就是说,在下面的示例中,我正在查找document.count()> 0)的实例:
class Report(models.Model):
document = generic.GenericRelation(Document)
类似的东西:
Report.objects.filter(date__gte=twomonths).exclude(document__isnull=True)
不幸的是,这不起作用 - 查询返回没有“文档”的对象(即它返回document.count()为0的对象。)
有没有办法查询泛型关系为空的实例?
答案 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)