如何做 django select sql 或语句?
我不是问如何执行原始 sql。我更多地考虑 django queryset api。如果我想执行一条 sql,
select * from table where id="1" or id="2" or id="3";
我该如何使用 django queryset api 来执行它?我知道如果将过滤器链接在一起,您可以得到 AND。但你会怎么做?
顺便说一句,与原始 sql 相比,queryset api 的效率如何,通常是相同的?
I'm not asking on how to do a raw sql. I'm thinking more in terms of the django queryset api. If I want to execute a sql like
select * from table where id="1" or id="2" or id="3";
how would I do it using django queryset api? I know that if you chain filters together you can get AND. But how would you do OR?
BTW how efficient is the queryset api compared to raw sql, generally the same?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的查询与
select * from table where id in ('1', '2', '3');
相同,使用 Django 查询集将是:YourModel.objects.filter( id__in=['1', '3', '4'])
。Your query is the same as
select * from table where id in ('1', '2', '3');
which using Django queryset will be:YourModel.objects.filter(id__in=['1', '3', '4'])
.