Django表单save_m2m

Joh*_*ohn 6 forms django many-to-many m2m

嗨我有一个模型,里面有2到多个字段.一个是标准m2m字段,它不使用任何通过表,而另一个更复杂,并有一个通过表.我正在使用Django forms.modelform来显示和保存表单.我必须保存表单的代码是

if form.is_valid():
        f = form.save(commit=False)
        f.modified_by = request.user
        f.save()
        form.save_m2m()
Run Code Online (Sandbox Code Playgroud)

当我尝试保存表单时,我收到以下错误:

无法在指定中间模型的ManyToManyField上设置值.

我知道当我执行form.save_m2m()时会发生这种情况,因为直通表.我要做的就是告诉Django忽略带有直通表的m2m字段,但仍然保存没有直通表的m2m字段.然后,我可以继续手动保存直通表字段的数据.

谢谢

Jia*_*aro 0

“没有直通表”,您无法保存 m2m

要保存的数据存储在through表中(并且仅存储在through表中)