这可能是一个多余的问题,但我已经尝试过其他相关主题的先前答案,但仍然无法弄清楚。
我有一个表 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 中使用哪个命令来执行此操作?