Python 在Django中对Q对象求反
我动态创建了一个复杂的Q对象。如何对Q对象求反,以便在Python 在Django中对Q对象求反,python,django,django-q,Python,Django,Django Q,我动态创建了一个复杂的Q对象。如何对Q对象求反,以便在filter()中使用它,而不是exclude()?使用~运算符: complex_condition = ~Q(....) 根据: Q可以使用~运算符对对象求反,从而允许组合 结合普通查询和否定(非)查询的查找 谢谢@falsetru 我尝试的是通过另一个被否定的Q对象运行Q对象: ~Q(Q) 如果您不能像~Q(**过滤器)那样使用~运算符,请使用operator.inv(Q) 用法示例 q_filter = Q(user__profi
filter()
中使用它,而不是exclude()
?使用~
运算符:
complex_condition = ~Q(....)
根据:
Q
可以使用~运算符对对象求反,从而允许组合
结合普通查询和否定(非)查询的查找
谢谢@falsetru
我尝试的是通过另一个被否定的Q对象运行Q对象:
~Q(Q)
如果您不能像~Q(**过滤器)那样使用
~
运算符,请使用operator.inv(Q)
用法示例
q_filter = Q(user__profile_id=777)
>> (AND: ('user__profile_id', 777))
@ATOzTOA,运算符。not_uux
类似于not x
。使用operator.inv(x)
或oeprator.invert
表示~x
。对不起,回复得太晚了。
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)))