formularios - Django: ¿Cómo anular form.save()?
modelform django (1)
Mi modelo tiene bastantes campos booleanos. He dividido estos en 3 conjuntos que estoy representando como MultipleChoiceField
con un CheckboxSelectMultiple
modificado.
Ahora necesito guardar esta información en el DB. es decir, necesito dividir los datos devueltos por un solo widget en múltiples columnas booleanas. Creo que esto es apropiado para el método save()
, ¿no?
La pregunta es, ¿cómo lo hago? ¿Algo como esto?
def save(self, commit=True):
# code here
return super(MyForm, self).save(commit)
Si es así ... ¿cómo configuro los valores?
self.fields[''my_field''].value = ''my_flag'' in self.cleaned_data[''multi_choice'']
¿O algo? ¿Dónde están almacenados todos los datos?
El lugar donde desea que se almacenen sus datos es su nueva instancia de modelo:
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