我的模型有很多布尔字段。我将这些分为3组,我将其渲染为MultipleChoiceField
w / a 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']
还是什么? 所有数据存储在哪里?
答案 0 :(得分:92)
您希望存储数据的位置是您的新模型实例:
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