Получить связанный столбец на .annotate () данных Django
Я создал этот простой набор данных, чтобы проиллюстрировать мою точку зрения. Это простая модель без каких-либо дополнительных связей с какой-либо другой моделью.
Мне нужно сгруппировать данные выше по topicid, найти максимальную дату для каждой группы и затем получить автора на эту дату.
info = TempModel.objects
.values('topic')
.annotate( max=Max('date'))
.order_by('-max')
Итерируя это в шаблоне,
<table>
{% for item in info %}
<tr>
<td>{{ item.topicid }}</td>
<td>{{ item.max }}</td>
<td>{{ item.author }}</td>
</tr>
{% endfor %}
</table>
производит,
Как отобразить столбец «автор» для каждой максимальной даты?
Я могу сделать это с сырым SQL-запросом, как это,
info = list(TempModel.objects
.raw('SELECT *, max(date) AS max
FROM crudapp_tempmodel
GROUP BY topicid
ORDER BY date DESC'))
Но я хочу сделать это с помощью запроса Django.
Результат, который я ищу,
Если это невозможно с запросом Django, я хотел бы знать.
Спасибо,