保存多对多字段Django表单

保存多对多字段Django表单,第1张

保存多对多字段Django表单 更新的答案

问题出在

save
方法上。您将实例保存为,
commit=False
但实例保存时为,
if commit:
因此现在不保存。

只是注释掉了

if commit:
,它将被很好地保存。

def save(self, commit=True):    # Get the unsaved Pizza instance    instance = forms.ModelForm.save(self, False)    # Prepare a 'save_m2m' method for the form,    old_save_m2m = self.save_m2m    def save_m2m():        old_save_m2m()        # This is where we actually link the pizza with toppings        instance.course_set.clear()        for course in self.cleaned_data['courses']: instance.course_set.add(course)    self.save_m2m = save_m2m    # Do we need to save all changes now?    # Just like this    # if commit:    instance.save()    self.save_m2m()    return instance


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5631242.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存