首页 > 解决方案 > django获取最新的记录和其他列值

问题描述

我有一个带有一些列的模型,它们之间有 2 列:device_id(一个 CharField)和 date_saved(一个 DateTimeField)。
我有多行具有相同的设备 ID 但不同的 date_saved (每次用户保存记录时,我保存现在的日期时间)。
我想检索具有特定设备ID并且是最新保存的记录,即:
| 设备_id | 保存日期 |

| --- ----- | --------------------- -------- |

| 1061a | 2020 年 12 月 26 日 10:10:23|
| 1061a | 2020 年 12 月 26 日 10:11:52|
| 1061a | 2020 年 12 月 26 日 10:22:03|
| 1061a | 2020 年 12 月 26 日 10:31:15|
| 1062a | 2020 年 12 月 21 日 10:11:52|
| 1062a | 2020 年 12 月 25 日 10:22:03|
| 1073a | 2020 年 12 月 20 日 10:31:15|
例如,我想检索最新的设备 ID=1061。
我尝试了各种方法但没有成功:

prg = Program.objects.filter(equipment_id=id)  
program = Program.objects.latest('date_saved')
  

当我使用程序时,我会保存与前一个过滤器无关的最新记录

标签: pythonsqldjango

解决方案


您可以将过滤链接为,

result = Program.objects.filter(equipment_id=id).latest('date_saved')

推荐阅读