Django ORM для получения последней записи для определенного ID

Как мне написать django ORM для получения последних записей из таблицы для определенного идентификатора.

Пример:

У меня есть таблица(tr_data) с данными следующего вида:

id trs(foreign key) status last_updated
1 301 3 2022-11-28 06:14:28
2 301 4 2022-11-28 06:15:28
3 302 3 2022-11-28 06:14:28
4 302 4 2022-11-28 06:15:28
5 302 2 2022-11-28 06:16:28

Я хочу иметь значения набора запросов, которые дают мне идентификатор trs с его последним статусом. Я пытался использовать aggragate и MAX, но не получил желаемого результата.

Ожидание результата как : [{"trs":301, "status":4},"trs":302,"status":2}]

Возможный дубликат Django ORM: Group by и Max

Вы можете достичь этого с помощью annotate и Max. В модели tr_data добавьте параметр related_name к trs что-то вроде 'tr_status'.

Написать орм:

latest_objs = TrData.objects.annotate(temp=Max('trs__tr_status__last_updated')).filter(last_updated).values('trs', 'status')
Вернуться на верх