sba*_*ski 6 python django django-orm django-queryset
编辑:这个问题是对观察到的结果的误解的结果。最初发布但不起作用的代码段解决了问题。我将把这一切都留给未来任何以同样方式感到困惑的人。
我有两个模型answer和answer_set. 我需要编写一个接受查询集answer_set并添加过滤器的函数。
我要应用的过滤器是:answer_set具有answer特定的code和value。
起初我尝试了类似的东西:
q.filter(answer__code=code, answer__value=value)
Run Code Online (Sandbox Code Playgroud)
但当然这不起作用 - 这是两个单独的答案(SQL 中的两个连接),即如果某个答案具有正确的代码,而另一个具有正确的值,则过滤条件为真。我想检查是否有一个满足这两个条件的答案。编辑:这段代码实际上正是我想要的。
在 SQL 中,这很容易:
...
JOIN answer
...
WHERE
...
answer.value = "some_value" AND answer.code = "some_code"
Run Code Online (Sandbox Code Playgroud)
但我认为原始 SQL 是最后的手段。可以在 Django ORM 中完成吗?编辑:是的,确实如此 - 请参阅上面的片段。
| 归档时间: |
|
| 查看次数: |
9509 次 |
| 最近记录: |