Как я могу добавлять пользователей в разные группы без использования администратора, я понимаю, что у меня есть три типа пользователей, которые выбирают, каким типом они хотят быть при регистрации, у меня уже есть группы, созданные с разными разрешениями, мой вопрос в том, что когда я создаю пользователей через номерной знак, я также добавляю их в группу, которая ему соответствует ???
это то, что было доказано до сих пор:
views.py
class FreeSignUpView(CreateView):
model=CustomUser
form_class = FreeSignUpForm
template_name = 'registration/signup_form.html'
def get_context_data(self, **kwargs):
kwargs['user_type']='free'
return super().get_context_data(**kwargs)
def form_valid(self, form):
user=form.save()
login(self.request,user)
return redirect('free_signup')
forms.py
class FreeSignUpForm(UserCreationForm):
pais = forms.ModelChoiceField(queryset=Pais.objects.all())
anno = forms.ModelChoiceField(queryset=Profesion.objects.all())
class Meta(UserCreationForm.Meta):
model=CustomUser
fields = ('username','email','first_name','last_name',)
def clean_email(self):
email = self.cleaned_data.get('email')
qs = CustomUser.objects.filter(email=email)
if qs.exists():
raise forms.ValidationError("La direccion email ya existe")
return email
@transaction.atomic()
def save(self, commit=True):
user=super().save(commit=False)
user.is_free=True
#the error occurs when I try to add the user to the group
group=Group.objects.get(name='free')
group.user_set.add(user)
if commit:
user.save()
return user
и мне выдаётся следующая ошибка
введите описание изображения здесь