所以我有一个模型表单,使用自定义save()
方法。当我将变量instance
传递给表单时,我收到以下错误:
save() got an unexpected keyword argument 'instance'
如何在save方法中处理instance
参数?我知道commit
它只是一个简单的布尔句柄,但在传递对象时似乎更复杂。非常感谢!
class UpdateOrderForm(forms.ModelForm):
#Some Data Here
class Meta:
model = Order
def save(self, instance):
updatedOrder= super(UpdatedOrderForm, self).save()
#Some stuff happens here
return updatedOrder
答案 0 :(得分:0)
在django文档中,明确指出save()只将commit作为参数。
def save(self, commit=True):
updatedOrder = super(UpdatedOrderForm, self).save(commit=False)
# do other things related to form
if commit:
updatedOrder.save()
return updatedOrder
之前我们将它保存在updatedOrder中,但没有承诺做一些与表单相关的操作,一旦完成所有操作,然后提交到数据库。