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

我的模型有很多布尔字段。我将它们分为3组,将其渲染为MultipleChoiceFieldw / adv 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

以上是 Django:如何覆盖form.save()? 的全部内容, 来源链接: utcz.com/qa/408113.html

回到顶部