多选外键字段 Django 表单

Huz*_*yed 0 python django

我有一个表单,我想在其中显示多个选择外键字段。

表单.py

class ManagerGroupForm(forms.ModelForm):
    class Meta:
        model = UserGroup
        fields = ['usergroup_group']
Run Code Online (Sandbox Code Playgroud)

模型.py

class UserGroup(models.Model):

    usergroup_user = models.ForeignKey(User, on_delete=models.CASCADE)
    usergroup_group = models.ForeignKey(Groups, on_delete=models.CASCADE)
Run Code Online (Sandbox Code Playgroud)

在我的表单中,我想usergroup_group多次选择。

小智 5

如果要将多个组添加到使用多对多字段的单个用户,则只能将单个对象保存到 ForeignKey 字段。

class UserGroup(models.Model):

   user = models.ForeignKey(User, on_delete=models.CASCADE)
   group = models.ManyToManyField(Groups)
Run Code Online (Sandbox Code Playgroud)

或者

如果想要与您创建的表相同的表,您可以使用 Django 表单集,请参阅文档:https ://docs.djangoproject.com/en/2.1/topics/forms/formsets/