CreateView与其他模型

时间:2015-06-12 20:22:07

标签: django django-generic-views

我正在使用CreateView创建用户。

views.py:

class UserCreateView(CreateView):
    model = User
    form_class = UserCreateForm
    success_url = reverse_lazy('patient:users')

forms.py

class UserCreateForm(ModelForm):
    class Meta:
        model = User
        fields = ['first_name', 'last_name']

我有另一个模型,UserGroups,定义如下:

class UserGroup(models.Model):
    users = models.ManyToManyField(User, blank=True, related_name='user_groups')
    name = models.CharField(max_length=50)

问题是我希望有可能在UserCreateForm中将UserGroup分配给User。这样做:

class UserCreateForm(ModelForm):
        class Meta:
            model = User
            fields = ['first_name', 'last_name', 'user_groups']

似乎不起作用。

最好的方法是什么?

1 个答案:

答案 0 :(得分:4)

您需要在UserCreateForm中添加一个额外的字段:

sudo diskutil unmountDisk /dev/disk4

并在CreateView' class UserCreateForm(ModelForm): groups = forms.ModelMultipleChoiceField(queryset=UserGroup.objects.all()) 方法中设置:

form_valid