Django:如何覆盖form.save()?

我的模型有很多布尔字段。 我已经把它们分成了三组,我把它们渲染成一个MultipleChoiceField带有一个修改后的CheckboxSelectMultiple

现在我需要将这些数据保存回数据库。 即,我需要将单个小部件返回的数据拆分为多个布尔列。 我认为这适用于save()方法, 不是吗?

问题是,我该怎么做? 像这样的东西?

 def save(self, commit=True): # code here return super(MyForm, self).save(commit) 

如果是的话… 我如何设置值?

 self.fields['my_field'].value = 'my_flag' in self.cleaned_data['multi_choice'] 

或者其他的东西? 所有的数据存储在哪里?

你想要存储数据的地方是你的新模型实例:

 def save(self, commit=True): instance = super(MyForm, self).save(commit=False) instance.flag1 = 'flag1' in self.cleaned_data['multi_choice'] # etc if commit: instance.save() return instance