Модель фильтра 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')