我正在尝试在FormView
中保存一个 m2m 字段。
这是我的代码:
class ProductorPropietarioView(FormView):
form_class = FormPropietario
success_url = '/'
template_name = 'productores/propietario.html'
def form_valid(self,form):
form.save(commit=False)
form.save()
form.save_m2m()
return super(ProductorPropietarioView,self).form_valid(form)
models.py
class Persona(models.Model):
predio = models.ForeignKey(InfoPredioGeneral,related_name='predio+')
rol = models.ManyToManyField(RolPersona)
tipo_identificacion = models.ForeignKey(TipoIdentificacion,related_name='tipo identificacion+',blank=True,null=True)
numero_identificacion = models.CharField(max_length=100,blank=True,null=True)
forms.py
class FormPropietario(ModelForm):
class Meta():
model = Persona
fields = '__all__'
我无法让这个工作。我知道首先我必须设置 False,然后保存表单,然后保存 m2m。我已经只尝试了form.save()
我做错了什么?
尝试按如下方式更改FormView
:
def form_valid(self,form):
f = form.save(commit=False)
f.save()
form.save_m2m()
return super(ProductorPropietarioView,self).form_valid(form)