Django Filter on Distinct with orderby создан в
Как я могу фильтровать с помощью distinct и order by
IncomingCallRecording.objects.filter().order_by("lead_id","-created_at").distinct("lead_id")
Проблема: Order by не работает с created at
Есть ли альтернативное решение, которое может помочь
Вы можете просто использовать created_at в order_by.
IncomingCallRecording.objects.order_by("-created_at").distinct("lead_id")
 Сортировка по нескольким столбцам выполняется последовательно. Если вы определите два столбца в order_by, то сортировка будет производиться по первому столбцу, а затем по второму (сначала по lead_id, а затем внутри каждого lead_id сортировка по created_at).
Update
 Решение будет зависеть от базы данных. Для MYSQL, DISTINCT ON не допускается. Для POSTGRES выражение DISTINCT ON должно соответствовать ORDER BY.
В случае POSTGRES, вам нужно будет использовать Subquery, если вы хотите использовать различные выражения DISTINCT ON и ORDER BY.
IncomingCallRecording.objects.filter(
    pk__in=Subquery(
       IncomingCallRecording.objects.distinct('lead_id').values('pk')
    )
).order_by('-created_at')