Я новичок в django и пытаюсь расширить настраиваемого пользователя до нескольких профилей пользователей, и когда я пытаюсь сохранить пользователя, он говорит: «Студент с этой группой уже существует». Первый пользователь зарегистрировался нормально, но когда я создаю второго, возникает ошибка
, даже если модель пользователя не имеет членства в группе, вот мой код
models.py
class CustomUser(AbstractUser):
USER_TYPE_CHOICES = (
(1, 'student'),
(2, 'parent'),
(3, 'gard'),
(4, 'teacher'),
(5, 'secretary'),
(6, 'supervisor'),
(7, 'admin'),
)
is_active = models.BooleanField(default=True)
user_type =models.PositiveSmallIntegerField(choices=USER_TYPE_CHOICES,null=True)
class Student(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='student_profile')
group = models.OneToOneField(Group,related_name='student_group',on_delete=models.CASCADE,null=True)
teacher = models.ManyToManyField(Teacher,related_name="student_teacher")
def save(self,*args,**kwargs):
self.user.is_active = False
return super(Student,self).save(*args,**kwargs)
class Group(models.Model):
name = models.CharField(max_length=255, unique=True)
slug = models.SlugField(allow_unicode=True, unique=True)
def __str__(self):
return self.name
def save(self, *args, **kwargs):
self.slug = slugify(self.name)
retuen super().save(*args, **kwargs)
Это мой файл forms.py
views.py
def student_signUpView(request,**kwargs):
registered = False
if request.method == 'POST':
user_form = UserSignUpForm(request.POST)
profile_form = StudentSignUpForm(request.POST)
if user_form.is_valid() and profile_form.is_valid():
user = user_form.save(commit=False)
user.set_password(user_form.cleaned_data['password2'])
print(user.user_type)
user.save()
profile = profile_form.save(commit=False)
profile.user = user
profile.exist = True
profile.save()
registered = True
else:
print(user_form.errors,profile_form.errors)
else:
user_form = UserSignUpForm()
profile_form = StudentSignUpForm()
return render(request, 'accounts/singup.html',{
'registered':registered,
'user_form': user_form,
'profile_form': profile_form,
})
и вот ошибка
<ul class="errorlist"><li>user_type<ul class="errorlist"><li>This field is required.</li></ul></li></ul> <ul class="errorlist"><li>group<ul class="errorlist"><li>Student with this Group already exists.</li></ul></li></ul>
[06/Aug/2020 18:52:39] "POST /accounts/signup/Student/ HTTP/1.1" 200 7497
<ul class="errorlist"><li>group<ul class="errorlist"><li>Student with this Group already exists.</li></ul></li></ul>
я не не знаю, где ошибка, и я застрял