如何使用union和"而不是" django查询中的函数。我搜索过它但找不到任何例子
select id,address
from tbl_nt
where st_id in (1,2) and name = 'foo'
union
(select d.id,d.addrses from tbl_nt_123 d
where d.name='foo' and condition_id not in (select condition_id
from tbl_conditions
where version_id = 5)
我已经尝试了这个查询较低的部分,但没有工作
tbl_nt_123.objects.values_list('id','address').exclude(condition_id=tbl_conditions
.objects.filter(version_id=5).values_list('condition_id',flat=True))
我该怎么做?
请参考我一些好的链接或书籍,以了解提前django查询。
谢谢
答案 0 :(得分:7)
可能你应该只添加__in
查找修饰符:
tbl_nt_123.objects.values_list('id','address').exclude(
condition_id__in=tbl_conditions.objects.filter(version_id=5).values_list('condition_id',flat=True))
对于联盟,您可以使用|
运算符伪造它。
union = queryset1 | queryset2