0
Я пытаюсь записать историю изменений записей для своих пользователей. Я получил в истории модели:группа django по шаблону
class History(models.Model):
concerning = models.ForeignKey(User)
field = models.CharField(max_length=30)
creation_date = models.DateTimeField(auto_now_add=True)
author = models.ForeignKey(User, related_name='autor_history_info')
action = models.CharField(max_length=30)
new_value = models.CharField(max_length=1000)
и просмотра истории:
def get_history(request):
changes = History.objects.all().filter(concerning=request.user).order_by('field')
return render(request, "get_history.html", {"changes" : changes)
и шаблон истории:
{%for change in changes %}
<h1>{{change.field}} </h1>
{{change.creation_date}}
{{change.author}}
{{change.action}}
to
{{change.new_value}}
<br>
{% endfor %}
Я, к сожалению, не могу найти хороший способ сделать группу, которая ограничивает однократное отображение поля, а затем все изменения ниже. Как сделать группу для этого?
пожалуйста объяснить, что поле вы надеетесь группе? или опубликовать некоторый образец вывода так, как вы хотите, чтобы он выглядел. –
Это именно тот случай, для которого встроен фильтр 'перегруппировки'. Проверьте документы, это на сложной стороне, но она работает хорошо: https://docs.djangoproject.com/en/1.7/ref/templates/builtins/#regroup. Или, может быть, 'ifchanged' будет делать все, что вам нужно, что проще. –