【发布时间】:2021-07-09 12:46:31
【问题描述】:
我希望这样的查询:
SELECT field1, field2, field3
FROM mytable
WHERE (field1, field2) NOT IN(
(1, 1),
(2, 2)
);
django==1.9.13
我目前的解决方案是:
qs = MyTable.objects.all()
for (field1, field2) in data: # List[Tuple[int, int]]
qs = qs.exclude(field1=field1, field2=field2)
【问题讨论】:
-
老实说,您的解决方案并没有那么糟糕,因为 Django 查询集是惰性的,并且在评估之前不会执行。它不会在您的 for 循环的每次迭代中访问数据库。
标签: python django python-2.7