Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django注释/计数过滤器仅适用于postgres,不适用于sqlite_Django_Postgresql_Sqlite_Annotate - Fatal编程技术网

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记录列表,其中有0个classB记录连接到公共classC记录

在postgres中,两个查询都给出了我想要的结果,而在sqlite中,它们都给出了一个空结果:

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()将删除任何可能影响结果的排序。这里描述了一个类似的问题:发布模型可能没有帮助