我有一个ModelForm,它有一个模型的字段子集。当我正在处理该表单时,检查is_valid等,我想检查可能已更改的给定字段的值,因此我检查是否form.has_changed()然后检查form.changed_data中的myfield。如果这是真的,我想在我的模型上设置字段的值,但该字段不在此模型上。我该怎么做呢?
我知道我可以直接访问myform.instance,但是由于我之前已经调用了myform.save(),我可以在某种程度上设置表单本身的值,即使该字段不是modelform的一部分吗?
答案 0 :(得分:1)
在commit=False
中使用ModelForm.save
,如下所示:
instance = form.save(commit=False)
if requires_update:
instance.field_to_change = value_to_set
instance.save()