我有一个来自BaseInlineFormSet的类,我在其中覆盖了save()方法:
class CustomBaseModelFormSet(BaseInlineFormSet):
def save(self, something=None, commit=True, *args, **kwargs):
instances = super(CustomBaseModelFormSet, self).save(commit=False)
但是当我调用formset.save()创建带有绑定且有效的formset的新对象时,变量实例是一个空列表!
为什么父类的save()没有保存?没有任何错误的痕迹。
我正在使用Python 3和Django 1.10.5。
答案 0 :(得分:0)
事实证明,在BaseModelFormSet类中,有一个save_new_objects()方法,由于以下检查,我正在跳过要保存的表单:
def has_changed(self):
return True
所以,在我的ModelForm中,我覆盖了这个方法:
using NHibernate.Linq;
...
var query = SessionFactory.Current.Query<Package>();
这样它总是返回True并保存我的表格。