Obtenha coluna relacionada nos dados .annotate () do Django
Criei esse conjunto simples de dados para ilustrar meu argumento. É um modelo simples, sem relações adicionais com qualquer outro modelo.
Preciso agrupar os dados acima por topicid, encontrar a data máxima para cada grupo e obter o autor para essa data.
info = TempModel.objects
.values('topic')
.annotate( max=Max('date'))
.order_by('-max')
Iterando isso em um modelo,
<table>
{% for item in info %}
<tr>
<td>{{ item.topicid }}</td>
<td>{{ item.max }}</td>
<td>{{ item.author }}</td>
</tr>
{% endfor %}
</table>
produz,
Como exibir a coluna 'autor' para cada data máxima?
Eu posso fazer isso com uma consulta sql bruta como esta,
info = list(TempModel.objects
.raw('SELECT *, max(date) AS max
FROM crudapp_tempmodel
GROUP BY topicid
ORDER BY date DESC'))
Mas eu quero fazer isso usando uma consulta Django.
A saída que estou procurando é,
Se isso não for possível com uma consulta do Django, eu gostaria de saber.
Obrigado,