为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 django 中编写子查询

如何在 django 中编写子查询

尚方宝剑之说 2022-06-14 10:52:23
是否可以在 django 中进行以下 sql 查询select * from (    select * from users) order by id这只是最小的例子。我有一个很长的子查询而不是select * from users. 但我不明白如何将它插入子查询。更新:来自doc的子查询不适合,因为它构建了以下请求SELECT "post"."id", (    SELECT U0."email"    FROM "comment" U0    WHERE U0."post_id" = ("post"."id")    ORDER BY U0."created_at" DESC LIMIT 1) AS "newest_commenter_email" FROM "post"并且这个子查询只能返回一个值(.values('email'))。建设select (subquery) as value from table代替select value from (subquery)
查看完整描述

2 回答

?
Qyouu

TA贡献1786条经验 获得超11个赞

制作子查询本质上是设置两个查询并使用一个查询来“提供”另一个查询:


from django.db.models import Subquery

all_users = User.objects.all()

User.objects.annotate(the_user=Subquery(all_users.values('email')[:1]))

这与您提供的内容或多或少相同。您可以在这里尽可能复杂,但使用子查询的最佳来源是文档


查看完整回答
反对 回复 2022-06-14
?
三国纷争

TA贡献1804条经验 获得超7个赞

我会使用 python 连接器连接到 postgreSQL -http://www.postgresqltutorial.com/postgresql-python/query/这就是我为 mysql 所做的,我认为没有尝试使用 postgresql



查看完整回答
反对 回复 2022-06-14
  • 2 回答
  • 0 关注
  • 84 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信