【发布时间】:2013-06-22 14:18:17
【问题描述】:
这可能是一个多余的问题,但我已经尝试过其他相关主题的先前答案,但仍然无法弄清楚。
我有一个表 Board_status 看起来像这样(每个板的多个状态和时间戳):
time | board_id | status
-------------------------------
2012-4-5 | 1 | good
2013-6-6 | 1 | not good
2013-6-7 | 1 | alright
2012-6-8 | 2 | good
2012-6-4 | 3 | good
2012-6-10 | 2 | good
现在我想从 Board_status 表中选择所有记录,按 board_id 对所有记录进行分组以获得不同的 board_id,然后选择每个板上的最新状态。基本上以这样的表格结束(只有每个板的最新状态和时间戳):
time | board_id | status
------------------------------
2013-6-7 | 1 | alright
2012-6-4 | 3 | good
2012-6-10 | 2 | good
我试过了:
b = Board_status.objects.values('board_id').annotate(max=Max('time')).values_list('board_id','max','status')
但它似乎不起作用。每个 board_id 仍然给我超过 1 条记录。
我应该在 Django 中使用哪个命令来执行此操作?
【问题讨论】: