设置不属于ModelForm的Model字段的值?

时间:2015-07-01 18:21:51

标签: django forms django-models django-forms

我有一个ModelForm,它有一个模型的字段子集。当我正在处理该表单时,检查is_valid等,我想检查可能已更改的给定字段的值,因此我检查是否form.has_changed()然后检查form.changed_data中的myfield。如果这是真的,我想在我的模型上设置字段的值,但该字段不在此模型上。我该怎么做呢?

我知道我可以直接访问myform.instance,但是由于我之前已经调用了myform.save(),我可以在某种程度上设置表单本身的值,即使该字段不是modelform的一部分吗?

1 个答案:

答案 0 :(得分:1)

commit=False中使用ModelForm.save,如下所示:

instance = form.save(commit=False)
if requires_update:
    instance.field_to_change = value_to_set
instance.save()