如何在 Django 视图中保存 ModelMultipleChoiceField?

How to save ModelMultipleChoiceField in Django view?

我有一个 Subject 模型和一个 CustomUser 模型。在注册期间,用户可以 select 多个主题。以下是我在表单中的代码。

forms.py

class SignUpForm(forms.Form):
    ...
    subjects = forms.ModelMultipleChoiceField(label="Subjects",
                                         widget=forms.CheckboxSelectMultiple,
                                         queryset=Subject.objects.all())

我在 views.py 中可以做什么来保存这些数据?不幸的是,清理数据然后使用保存方法的常用方法不起作用。可怕的是,类似的问题在 SO 中几乎没有答案。

没关系。我找到了。

if password == password2:
                u = CustomUser.objects.create_user(username, email, password, first_name=fname, last_name=lname, dob=year+'-'+month+'-'+day)
                u.subjects = subjects
                u.save

我犯了一个错误,试图将 create_user 方法中的主题与所有其他变量一起压缩。