如何在保存前访问django模型表单中字段的上一个值?

如何在保存前访问django模型表单中字段的上一个值?,django,django-forms,Django,Django Forms,在保存表单之前,我需要访问Django模型实例字段的上一个值。例如,在形式_中,有效方法需要访问模型实例的先前值。如何实现这一点?假设您拥有MyModel表。现在,让我们创建MyModel的实例,并返回一个实例行 我希望,它将对您有所帮助。您可以使用“复制”来复制以前的模型实例,以便在保存新实例时不会覆盖以前的实例: import copy if form.is_valid(): obj = YourModel.objects.get(pk=form.instance.pk)

在保存表单之前,我需要访问Django模型实例字段的上一个值。例如,在形式_中,有效方法需要访问模型实例的先前值。如何实现这一点?

假设您拥有MyModel表。现在,让我们创建MyModel的实例,并返回一个实例行


我希望,它将对您有所帮助。

您可以使用“复制”来复制以前的模型实例,以便在保存新实例时不会覆盖以前的实例:

import copy

if form.is_valid():
    obj = YourModel.objects.get(pk=form.instance.pk)
    prev_obj = copy.copy(obj)
    // here you can access any field of your previous object related to that instance.
    // prev_obj.field
    new_obj = form.save()

注意:这仅适用于不在创建期间更新模型的情况。

您的问题不清楚。模型实例的先前值是什么意思?你是说以前的身份证?是的。我想要模型实例的先前值。
import copy

if form.is_valid():
    obj = YourModel.objects.get(pk=form.instance.pk)
    prev_obj = copy.copy(obj)
    // here you can access any field of your previous object related to that instance.
    // prev_obj.field
    new_obj = form.save()