在不使用触发器的情况下维护模型的历史数据。

问题描述 投票:0回答:1

我已经创建了一个模型的HistoryModel副本,然后我试图在不使用数据库触发器或任何django api的情况下保留该模型的历史数据。然后我试图在不使用数据库触发器或任何django api的情况下保留该模型的历史数据。为此,我在views.py的编辑部分写了如下内容。基本上是想在将新的数据保存到实际模型之前输入相同的数据。

def computer_edit(request, id=None):
 instance = get_object_or_404(Computer, id=id)
 form = ComputerForm(request.POST or None, instance=instance)
 if form.is_valid():
    hist = HistoryComputer(instance)  #**<< getting error here**
    hist.save()
    instance = form.save(commit=False)
    instance.save()
    return redirect('djform-home')
 context = {
     "title": 'Edit ' + str(instance.computer_name),
     "instance": instance,
     "form": form,
 }
 return render(request, "djform/computer_entry.html", context)

我们可以像这样做吗?

django
1个回答
0
投票

django-simple-history是保存历史记录的更快、更简单的方法。

© www.soinside.com 2019 - 2024. All rights reserved.