擅长:python、mysql、java
<p>{cdq>你可以使用它们的方法一起添加它们的对象。例如:</p>
<pre><code>>>> q = Q(sender=x)
>>> q.add(Q(receiver=y), Q.AND)
</code></pre>
<p><code>add</code>的第二个参数是连接器,它也可以是<code>Q.OR</code></p>
<p><strong>编辑:</strong>我的回答只是按照Perrin Harkins的建议采取不同的方式,但是关于您的另一个关注点,<code>filter</code>的不同行为取决于您构造查询的方式,如果您加入Q对象,您不必担心这一点。我的例子等价于<code>filter(sender=x, receiver=y)</code>,而不是<code>filter(sender=x).filter(receiver=y)</code>,因为就我在快速测试中所看到的,Q对象在子句上执行立即数和操作,并且对于多值关系没有{<cd4>}的特殊行为。在</p>
<p>在任何情况下,没有什么比查看SQL并确保它在您的特定查询中真的执行相同的操作更棒的了。在</p>