nin
我正在尝试构建以下注释,本质上是从人员IDcard
或模型中查找该字段Person
。
.annotate(
checkins_scan=Scan.objects.filter(models.Q(nin=OuterRef("person__idcard__nin") | models.Q(national_number=OuterRef("person__nin")))
.values(
data=JSONObject(id="id", nin="nin", datetime="datetime")
)[:1]
)
但是,我收到以下错误:
NotImplementedError: Use .bitand(), .bitor(), and .bitxor() for bitwise logical operations.
看起来我需要bitor()
,但是我找不到我所找到的基本示例(例如此处的文档)作为进一步的帮助。
当我尝试与 合作时,F()
我得到了TypeError: F.__init__() got an unexpected keyword argument 'nin'
。
关于如何正确执行此操作有什么线索吗?
您需要使用[Django-doc],并且括号不完全匹配。:
Subquery
在某些 ORM 上下文(如和)
|
中不能使用该运算符。相反,您必须使用才能达到相同的效果。OuterRef
Subquery
Q().bitor(Q())