我有一个动态创建的复杂 Q 对象。如何否定 Q 对象,以便它可以用于filter()
代替exclude()
?
问问题
2410 次
3 回答
13
于 2014-02-07T05:21:36.320 回答
1
谢谢@falsetru。
我正在尝试通过另一个否定的 Q 对象运行 Q 对象:
~Q(Q)
于 2014-02-07T05:37:05.257 回答
0
如果你不能使用~
像 ~Q(**filters) 这样的运算符 - 使用operator.inv(q)
import operator
negated_q = operator.inv(query)
使用示例
q_filter = Q(user__profile_id=777)
>> (AND: ('user__profile_id', 777))
negated_q_filter = operator.inv(q_filter)
>> (NOT (AND: ('user__profile_id', 777)))
于 2020-12-14T09:19:37.760 回答