【发布时间】:2021-06-24 12:26:05
【问题描述】:
我在尝试使用通用 CreateView 将用户添加到特定组时遇到了一些问题。 问题是我希望只有一个用户创建用户的帐户并将他分配到一个组 表单呈现正确,似乎选择了正确的组没有问题,但是当我检查用户没有分配任何组时。我尝试了很多我播种的方法,但任何一种似乎都适合我。
我不知道我应该在 (Post 方法)还是 form_valid() 中这样做 我使用 CreateView 但我不太擅长修改它自己的类, 请任何帮助
我使用默认用户,这是我的创建类
Views.py
class CreateUserView(LoginRequiredMixin, CreateView):
model = User
form_class = CustomUserForm
template_name = 'accounts/create_user.html'
queryset = User.objects.all()
def get_success_url(self):
return reverse_lazy('accounts:list_user')
def post(self, request, *args, **kwargs):
if self.request.method == 'POST':
form = self.form_class(self.request.POST)
if form.is_valid():
self.object = form.save(commit=False)
# form_class = self.get_form_class()
# form = self.get_form(form_class)
# position = int(request.POST['groups'])-1
# self.object.groups.add(position)
my_group = Group.objects.get(name="Usuario Avanzado")
my_group.user_set.add(self.object)
self.object.save()
return HttpResponseRedirect(self.get_success_url())
return HttpResponseRedirect(self.get_success_url())
请提供任何帮助,我将不胜感激
【问题讨论】:
标签: django django-forms django-class-based-views