我在管理站点上使用了 django 简单历史包,以便能够跟踪并恢复到模型对象的先前版本。我正在设计一个 Web 表单,允许用户使用 django 上的模型表单更改模型对象的实例,并希望允许用户查看并恢复到以前的版本。也让他们看到与当前版本相比有哪些变化。
使用下面的代码,我可以在 histoire 下获取模板上的历史记录列表。
class CompanyDetailView(LoginRequiredMixin,generic.DetailView):
model = Company
def get_context_data(self, **kwargs):
context = super(CompanyDetailView, self).get_context_data(**kwargs)
company_instance = self.object
context['histoire'] = company_instance.history.all()
return context
在我的模板中,
<p>
Previous versions:
{% for item in histoire %}
<li>
{{ item }} submitted by {{ item.history_user }} {{
item.history_object }}
</li>
{% endfor %}
</p>
但理想情况下,我希望 item.history_object 成为用户可以查看前一个对象并能够在需要时恢复的链接。