gpt4 book ai didi

python - 如何使用 Django ORM 从子查询中进行选择?

转载 作者:可可西里 更新时间:2023-11-01 08:26:16 25 4
gpt4 key购买 nike

我有一个只能插入的表。它包含 idobject_iduser_id 列。当您更新记录时,您不是更新行,而是创建一个具有匹配 object_id 的新记录。

我正在尝试提取与给定 user_id 匹配的所有记录,每个 object_id 的最高 id

我可以像这样用子查询来做我想描述的事情:

SELECT * FROM (SELECT * FROM table WHERE user_id = 100 ORDER BY object_id, id DESC) adr_table GROUP BY object_id

我试过使用 raw() 方法,但它返回一个 RawQuerySet 对象,我正试图将它提供给需要 的表单>查询集

理想情况下,我希望摆脱 raw() 并只使用 Django ORM,但如果这不可能,我该如何转换 RawQuerySet 到常规 QuerySet

最佳答案

请试试这个:

from django.db.models import Max

Model.objects.filter(user_id=100).values('object_id').annotate(Max('id'))

关于python - 如何使用 Django ORM 从子查询中进行选择?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35372415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com