在 FormView django 中保存 m2m



我正在尝试在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)

相关内容

  • 没有找到相关文章

最新更新