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,