Robot.objects.filter(data_set_id__isnull=True)
Robot.objects.filter(data_set_id__eq=None)
# Cannot resolve subfield or operator isnull on the field data_set_id
2.单独使用Q或与__isnull或__eq合并使用-〉失败
from mongoengine.queryset.visitor import Q
Robot.objects.filter(Q(data_set_id=None))
# 'None' is not a valid ObjectId, it must be a 12-byte input or a 24-character hex string
2条答案
按热度按时间5rgfhyps1#
如果要返回
data_set_id
字段包含空值的所有对象:piok6c0g2#
不适合我的解决方案:
1.使用
__isnull
或__eq
-〉失败2.单独使用
Q
或与__isnull
或__eq
合并使用-〉失败适合我的解决方案:
3.使用
__raw__
4.将
pymongo
版本更新为最新版本但是如果您使用的是
mongomock
,则需要像这样更新数据库连接但是,在修复之后,您仍然会面临
mongomock
的另一个问题,即插入重复文档(违反模型类中的唯一约束)不会被捕获和拒绝。