Как получить объект по имени и максимальной метке времени
Я хочу получить транзакцию, принадлежащую external_id=1 и имеющую самую высокую временную метку.
Я пробовал это
max_rating = Transaction.objects.aggregate(organisation_id_from_partner=organisation_id, highest_timestamp=Max('timestamp'))
Но я получаю TypeError: QuerySet.aggregate() received non-expression(s): 1.
Внутри агрегата можно написать только функцию Aggregate. Попробуйте это
max_rating = Transaction.objects.filter(organisation_id_from_partner=organisation_id).order_by('-timestamp').first()
Вы можете немного сократить ответ @shafik, используя .latest(…)
[Django-doc]:
max_rating = Transaction.objects.filter(
organisation_id_from_partner=organisation_id
).latest('timestamp')