Obtener columna relacionada con datos .annotate () Django
Creé este conjunto simple de datos para ilustrar mi punto. Es un modelo simple sin más relaciones con ningún otro modelo.
Necesito agrupar los datos anteriores por topicid, encontrar la fecha máxima para cada grupo y luego obtener el autor para esa fecha.
info = TempModel.objects
.values('topic')
.annotate( max=Max('date'))
.order_by('-max')
Repitiendo esto en una plantilla,
<table>
{% for item in info %}
<tr>
<td>{{ item.topicid }}</td>
<td>{{ item.max }}</td>
<td>{{ item.author }}</td>
</tr>
{% endfor %}
</table>
produce,
¿Cómo visualizo la columna 'autor' para cada fecha máxima?
Puedo hacer esto con una consulta SQL sin formato como esta,
info = list(TempModel.objects
.raw('SELECT *, max(date) AS max
FROM crudapp_tempmodel
GROUP BY topicid
ORDER BY date DESC'))
Pero quiero hacerlo usando una consulta Django.
La salida que estoy buscando es,
Si esto no es posible con una consulta de Django, me gustaría saber.
Gracias,