如何做 django select sql 或语句?

发布于 2024-11-28 08:34:48 字数 267 浏览 0 评论 0原文

我不是问如何执行原始 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

空‖城人不在 2024-12-05 08:34:48

您的查询与 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']).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文