[英]why am i getting "AttributeError: 'NoneType' object has no attribute 'get' "
[英]why am i getting error of AttributeError at /admin/main/consultation/ 'NoneType' object has no attribute 'lastname'
在我的管理頁面中,當我單擊咨詢時出現此錯誤
#model.py
class doctor(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, primary_key=True)
is_patient = models.BooleanField(default=False)
is_doctor = models.BooleanField(default=True)
firstname = models.CharField(max_length = 50)
lastname = models.CharField(max_length = 50,default='')
dob = models.DateField()
address = models.CharField(max_length = 100)
countrycode=models.CharField(max_length=5)
mobile_no = models.CharField(max_length = 15)
gender = models.CharField(max_length = 10)
registration_no = models.CharField(max_length = 20)
specialization = models.CharField(max_length = 30)
rating = models.IntegerField(default=0)
qualification = models.CharField(max_length=100,default='')
year_of_registration = models.CharField(max_length=50,default='')
medical_experience = models.CharField(max_length=50,default='')
medical_council=models.CharField(max_length=80,default='')
charges = models.IntegerField(default=0)
profilephoto = models.ImageField(null=True,blank=True,upload_to="dprofile/")
def __str__(self):
return "Dr. " + self.firstname +" "+ self.lastname
class consultation(models.Model):
patient = models.ForeignKey(patient ,null=True, on_delete=models.SET_NULL)
doctor = models.ForeignKey(doctor ,null=True, on_delete=models.SET_NULL)
diseaseinfo = models.OneToOneField(diseaseinfo, null=True, on_delete=models.SET_NULL)
consultation_date = models.DateField()
status = models.CharField(max_length = 20)
def __str__(self):
return self.patient.firstname + " "+self.doctor.lastname + '- Dr.' +self.doctor.firstname + ' ' +self.doctor.lastname
您的consultation
有兩個可為空的字段patient
和doctor
。 這意味着self.patikent
和self.doctor
本身不是patient
和doctor
object,但也可以是None
。
因此,您應該涵蓋這些字段為None
的情況:
class consultation(models.Model):
patient = models.ForeignKey(patient ,null=True, on_delete=models.SET_NULL)
doctor = models.ForeignKey(doctor ,null=True, on_delete=models.SET_NULL)
diseaseinfo = models.OneToOneField(diseaseinfo, null=True, on_delete=models.SET_NULL)
consultation_date = models.DateField()
status = models.CharField(max_length = 20)
def __str__(self):
names = []
if self.patient is not None:
names.append(f'{self.patient.firstname} {self.patient.lastname}')
if self.doctor is not None:
names.append(f'Dr. {self.doctor.firstname} {self.doctor.lastname}')
return ' - '.join(names)
然而,看起來很奇怪, patient
和doctor
首先可以是NULL
。 這意味着咨詢可以沒有病人和/或醫生?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.