【发布时间】:2012-01-26 23:03:02
【问题描述】:
我想覆盖 ModelForm 的 save() 函数,以便在用户按下特定提交按钮时更新模型上的字段。我还想检查其他一些字段并更新它们的值,我已经在 ModelAdmin 的 save_model() 函数上完成了这项工作。但是,对象的 save_model() 函数被传递为 None 。如果我注释掉表单的 save() 函数,那么 save_model() 函数会按预期工作。
两者都覆盖有问题,还是我在某个地方犯了错误?
这是一个最小的例子:
admin.py:
class TestAdmin(admin.ModelAdmin):
form = TestForm
def save_model(self, request, obj, form, change):
print 'test'
super(PostAdmin, self).save_model(request, obj, form, change)
admin.site.register(TestModel, TestAdmin)
forms.py:
class TestForm(forms.ModelForm):
class Meta:
model = TestModel
def save(self, force_insert=False, force_update=False, commit=True):
print 'test'
super(TestForm, self).save(commit=True)
【问题讨论】:
-
最后一行应该是 TestForm 而不是 CategoryForm 吗?
-
啊,很好 - 我已经编辑了问题
标签: django