我正在使用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']
似乎不起作用。
最好的方法是什么?
答案 0 :(得分:4)
您需要在UserCreateForm中添加一个额外的字段:
sudo diskutil unmountDisk /dev/disk4
并在CreateView' class UserCreateForm(ModelForm):
groups = forms.ModelMultipleChoiceField(queryset=UserGroup.objects.all())
方法中设置:
form_valid