Django注释/计数过滤器仅适用于postgres,不适用于sqlite
以下模型关系:Django注释/计数过滤器仅适用于postgres,不适用于sqlite,django,postgresql,sqlite,annotate,Django,Postgresql,Sqlite,Annotate,以下模型关系: classA对classC有一个不可为空的FK字段 classB对classC有一个可为空的FK字段 我需要一个classA记录列表,其中有0个classB记录连接到公共classC记录 在postgres中,两个查询都给出了我想要的结果,而在sqlite中,它们都给出了一个空结果: ClassA.objects.annotate(num_classb=Count('classc__classbs')).filter(num_classb=0) ClassA.objects
- classA对classC有一个不可为空的FK字段李>
- classB对classC有一个可为空的FK字段李>
ClassA.objects.annotate(num_classb=Count('classc__classbs')).filter(num_classb=0)
ClassA.objects.filter(classc__classbs__isnull=True)
我哪里出错了?我没有发现postgres和sqlite在处理此类过滤器/注释方面的差异您是否尝试附加.order_by()
来源:添加一个
order\u by
将如何影响一个空查询集?添加一个空的.order\u by()将删除任何可能影响结果的排序。这里描述了一个类似的问题:发布模型可能没有帮助