Django在/不在查询中
我试图弄清楚如何在Django中编写“不在”风格的查询。例如,我正在考虑的查询结构将如下所示。
select table1.* from table1
where table1.id not in
(
select table2.key_to_table1
from table2
where table2.id = some_parm
)
假设模型名为table1和table2,django语法会是什么样?
回答:
table1.objects.exclude(id__in= table2.objects.filter(your_condition).values_list('id', flat=True))
排除功能的作用类似于Not
你要查询的运算符。该属性flat = True
告诉table2
查询以返回value_list一级列表。因此,…最后,你IDs将从table2
中获得列表,你将用该列表定义用户中的条件table1
,该条件将被exclude函数拒绝。
以上是 Django在/不在查询中 的全部内容, 来源链接: utcz.com/qa/413912.html