如何在Django中执行SELECT SQL或语句?

0 投票
1 回答
1261 浏览
提问于 2025-04-16 23:04

我不是在问怎么写原始的SQL语句。我更想了解的是Django的查询集API。如果我想执行类似下面的SQL语句

select * from table where id="1" or id="2" or id="3";

我该如何使用Django的查询集API来实现呢?我知道如果把多个过滤条件连在一起,就可以得到AND的效果。但是,想要实现OR的效果该怎么做呢?

顺便问一下,查询集API的效率和原始SQL相比,通常是差不多的吗?

1 个回答

2

你的查询就像是 select * from table where id in ('1', '2', '3');,在Django中用查询集来写就是:YourModel.objects.filter(id__in=['1', '3', '4'])

撰写回答