Eu sei que esta questão é antiga, mas a partir de hoje (Django 1.9), os itens de história do Django são mais robustos do que eram na data desta questão. Em um projeto atual, precisei obter os itens de histórico recentes e colocá-los em uma lista suspensa da barra de navegação. Foi assim que fiz e foi muito direto:
*views.py*
from django.contrib.admin.models import LogEntry, ADDITION, CHANGE, DELETION
def main(request, template):
logs = LogEntry.objects.exclude(change_message="No fields changed.").order_by('-action_time')[:20]
logCount = LogEntry.objects.exclude(change_message="No fields changed.").order_by('-action_time')[:20].count()
return render(request, template, {"logs":logs, "logCount":logCount})
Como visto no trecho de código acima, estou criando um queryset básico do modelo LogEntry (django.contrib.admin.models.py é onde ele está localizado no django 1.9) e excluindo os itens onde nenhuma mudança está envolvida, ordenando-o por o tempo de ação e mostrando apenas os últimos 20 registros. Também estou recebendo outro item apenas com a contagem. Se você olhar o modelo LogEntry, poderá ver os nomes dos campos que o Django usou para recuperar os dados de que você precisa. Para o meu caso específico, aqui está o que usei no meu modelo:
Link para a imagem do produto final
*template.html*
<ul class="dropdown-menu">
<li class="external">
<h3><span class="bold">{{ logCount }}</span> Notification(s) </h3>
<a href="{% url 'index' %}"> View All </a>
</li>
{% if logs %}
<ul class="dropdown-menu-list scroller actionlist" data-handle-color="#637283" style="height: 250px;">
{% for log in logs %}
<li>
<a href="javascript:;">
<span class="time">{{ log.action_time|date:"m/d/Y - g:ia" }} </span>
<span class="details">
{% if log.action_flag == 1 %}
<span class="label label-sm label-icon label-success">
<i class="fa fa-plus"></i>
</span>
{% elif log.action_flag == 2 %}
<span class="label label-sm label-icon label-info">
<i class="fa fa-edit"></i>
</span>
{% elif log.action_flag == 3 %}
<span class="label label-sm label-icon label-danger">
<i class="fa fa-minus"></i>
</span>
{% endif %}
{{ log.content_type|capfirst }}: {{ log }}
</span>
</a>
</li>
{% endfor %}
</ul>
{% else %}
<p>{% trans "This object doesn't have a change history. It probably wasn't added via this admin site." %}</p>
{% endif %}
</li>
</ul>