简体   繁体   中英

TypeError at /admin/app/doctor/add/ __str__ returned non-string (type NoneType)

In my django project my models.py :

class myCustomUser(AbstractUser):
    username = models.CharField(max_length=20, unique="True", blank=False)
    password = models.CharField(max_length=200)

    isPatient = models.BooleanField(default=False)
    isDoctor = models.BooleanField(default=False)

    firstName = models.CharField(max_length=200, blank=True, null=True)
    lastName = models.CharField(max_length=200, blank=True, null=True)
    email = models.EmailField(unique=True)
    dateOfBirth = models.CharField(max_length=200, blank=True, null=True)
    address = models.CharField(max_length=200, blank=True, null=True)
    contactNo = models.IntegerField(null=True, unique=True)

    def __str__(self):
        return self.firstName


class Doctor(models.Model):
    user = models.OneToOneField(myCustomUser, null=True, blank=True, on_delete=models.CASCADE, related_name='doctor_releted_user')
    degree = models.CharField(max_length=200, blank=True, null=True)
    speciality = models.CharField(max_length=200, blank=True, null=True)
    isApproved = models.BooleanField(default=False)

    def __str__(self):
        return self.user.firstName


class Patient(models.Model):
    user = models.OneToOneField(myCustomUser, null=True, blank=True, on_delete=models.CASCADE, related_name='patient_releted_user')
    gender = models.CharField(max_length=200, blank=True, null=True)


class Appointment(models.Model):
    pname = models.ForeignKey(Patient, on_delete=models.CASCADE, related_name='patient_releted_appointment', null=True, blank=True)
    doctor = models.ForeignKey(Doctor, null=True, blank=True, on_delete=models.CASCADE, related_name='doctor_releted_appornment')
    date = models.DateTimeField(null=True, blank=True)
    isConfiremed = models.BooleanField(default=False)

After 1st migration when I trying to add any doctor object from admin pannel it says error like:

TypeError at /admin/app/doctor/add/

__str__ returned non-string (type NoneType)

Please suggest how can I fix it?

There is no guarantee that a user will have a first name as you set blank=True, null=True on myCustomUser .

To better understand how the null and blank parameters work (and where they differ) check out this answer to another question: https://stackoverflow.com/a/68948701/1720845

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM