您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

通过具有最大列值的记录过滤Django查询

通过具有最大列值的记录过滤Django查询

您可能只想在这里使用原始sqlraw()manager方法可简化此操作,使您可以从查询中返回模型实例。唯一的技巧是原始查询需要包含主键。这可能应该对您有用(除非您将主键设置为以外的其他值id):

latest_phone_numbers = Person.objects.raw('''
SELECT p1.id, p1.name, p1.phone, p1.created
FROM person_person p1, (
    SELECT name, MAX(created) AS max_created
    FROM person_person
    GROUP BY name
) AS p2
WHERE p1.name = p2.name AND p1.created = p2.max_created
''')
Go 2022/1/1 18:35:50 有362人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶