Quiero obtener la transacción que pertenece a external_id=1 y tiene la marca de tiempo más alta.
he intentado esto
max_rating = Transaction.objects.aggregate(organisation_id_from_partner=organisation_id, highest_timestamp=Max('timestamp')) Pero obtengo TypeError: QuerySet.aggregate() received non-expression(s): 1.
Dentro del agregado, solo puede escribir la función Agregado. Prueba esto
max_rating = Transaction.objects.filter(organisation_id_from_partner=organisation_id).order_by('-timestamp').first()Puede acortar ligeramente la respuesta de @shafik usando .latest(…) [Django-doc] :
max_rating = Transaction.objects.filter( organisation_id_from_partner=organisation_id ) .latest('timestamp')