在FormView django中保存m2m

在FormView django中保存m2m,django,django-forms,django-views,manytomanyfield,Django,Django Forms,Django Views,Manytomanyfield,我正在尝试将m2m字段保存在FormView中 这是我的密码: class ProductorPropietarioView(FormView): form_class = FormPropietario success_url = '/' template_name = 'productores/propietario.html' def form_valid(self,form): form.save(commit=False)

我正在尝试将m2m字段保存在
FormView

这是我的密码:

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)

您是否正在使用
模型表单
?此外,不需要执行
form.save(commit=False)
。您只需调用
form.save()
即可保存所有数据,包括要保存的多对多数据。@RodXavier是的,这是一个ModelForm,我已经用form.save()尝试过了,但没有保存
def form\u valid(self,form):form.save()返回super(ProductorPropietarioView,self)。form\u valid(form)
您能在这里发布您的表格和相关模型吗?