ValueError: Невозможно присвоить "<Пользователь: salman>": "DoctorProfile.user" должен быть экземпляром "Doctor".

Я пытаюсь зарегистрировать два типа пользователей Доктор и Пациент, но когда я попытался, я получил следующую ошибку, которая заставила меня почувствовать себя потерянным, потому что я действительно не знаю, что происходит

ти есть ошибка

Traceback (most recent call last):
  File "C:\Users\rachi\AppData\Local\Programs\Python\Python310-32\lib\site-packages\django\core\handlers\exception.py", line 55, in inner
    response = get_response(request).....
 ..
    raise ValueError(
ValueError: Cannot assign "<User: salman>": "DoctorProfile.user" must be a "Doctor" instance.

Это мой код

my models.py

class User(AbstractUser):
    is_doctor = models.BooleanField(default=False)
    is_patient = models.BooleanField(default=False)


class Doctor(models.Model):
    user = models.OneToOneField(
        User, on_delete=models.CASCADE, primary_key=True)
    number_phone = models.CharField(
        _('االهاتف :'), max_length=50, blank=True, null=True)
    last_login = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return '%s' % (self.user.username)




class DoctorProfile (models.Model):

    
    }
    user = models.OneToOneField(Doctor, on_delete=models.CASCADE, primary_key=True)


    

    def save(self, *args, **kwargs):
        if not self.slug:
            self.slug = slugify(self.name)
        super(DoctorProfile, self).save(*args, **kwargs)

    def __str__(self):
        return '%s' % (self.name)

    # def get_absolute_url(self):
    #     return reverse("doctor_detail", kwargs={"slug": self.slug})


def create_profile(sender, **kwargs):

    if kwargs['created']:
        DoctorProfile.objects.create(user=kwargs['instance'])


post_save.connect(create_profile, sender=User)


class Patient(models.Model):
    user = models.OneToOneField(
        User, on_delete=models.CASCADE, primary_key=True)
    name = models.CharField(max_length=50, verbose_name="الاسم ")
    last_login = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return '%s' % (self.user.username)

пожалуйста, скажите мне, где проблема

Вернуться на верх