Модель фильтра Django на основе максимальной даты

У меня есть модель Drugs со следующими записями :

id  location  num  date         country
1   UC        ABC  2021-03-26   ZAF
2   UC        DEF  2021-03-26   ZAF       # line to retrieve with filter
3   UC        ABC  2021-09-06   ZAF       # line to retrieve with filter

Я хочу выбрать запись на основе максимальной даты для комбинации loc - num - date

Например, в тестовом примере выше, я хочу вернуть только последние 2 записи, так как id 3 более свежий, чем id 1

from django.db.models import Max

result = Drug.objects.values('location','num').annotate(max_date=Max('date')).order_by()

Объяснение :

Из таблицы Drug, group строки по location и num (так что ряд1 и ряд3 будут сгруппированы вместе, в вашем примере), затем получить запись с Max('date')

Вернуться на верх