首页 > 解决方案 > 多选外键字段 Django 表单

问题描述

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

表格.py

class ManagerGroupForm(forms.ModelForm):
    class Meta:
        model = UserGroup
        fields = ['usergroup_group']

模型.py

class UserGroup(models.Model):

    usergroup_user = models.ForeignKey(User, on_delete=models.CASCADE)
    usergroup_group = models.ForeignKey(Groups, on_delete=models.CASCADE)

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

标签: pythondjango

解决方案


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

class UserGroup(models.Model):

   user = models.ForeignKey(User, on_delete=models.CASCADE)
   group = models.ManyToManyField(Groups)

或者

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


推荐阅读