【发布时间】:2014-01-10 14:30:11
【问题描述】:
需要计算我的内联中的一个字段。我覆盖了 BaseInLineFormSet clean 方法,可以在那里进行计算,显然在那里设置了字段的值,但它没有保存到数据库中,因此也没有显示。顺便说一句,该字段默认为零,以防万一。这是一个硬编码的版本:
class EmployeeAssignmentInLineFormSet(BaseInlineFormSet):
def clean(self):
super(EmployeeAssignmentInLineFormSet, self).clean()
self.cleaned_data[0]['cost'] = 5000
我还尝试在 ModelAdmin 中覆盖 save_formset - 结果相同:
def save_formset(self, request, form, formset, change):
formset.cleaned_data[0]['cost'] = 5000
formset.save()
当我在 clean 中设置值时,我可以看到它在到达 save_formset 时已设置,但它最终在 DB 中仍然为零。我是在错误的地方还是什么?
【问题讨论】: