如何解决Django 外键选择
我想构建一个应用程序,让患者将报告上传给他的同伴医生, 所以,我有两种模型,一种用于医生,另一种用于患者。 我想要的是两个模型之间的关系,其中患者从注册医生中选择他的医生。
这是代码:
class DoctorModel(models.Model):
user = models.OnetoOneField(CustomUser,on_delete=models.CASCADE)
doctorName = models.CharField(max_length = 150,default="")
doctorEmail = models.EmailField(max_length=50,default="")
speciality = models.CharField(choices = SPECIALITY,max_length = 20,default="")
doctorStatus = models.CharField(choices = DOCTOR_STATUS,max_length = 15,default="")
class PatientModel(models.Model):
user = models.OnetoOneField(CustomUser,on_delete=models.CASCADE)
patientName = models.CharField(max_length = 150,default="",editable=True)
patientAge = models.IntegerField(default=0)
patientEmail = models.EmailField(max_length=50,editable=True)
insuranceSyndicate = models.CharField(choices = INSURANCE_SYNDICATE,default="")
slug = models.SlugField(max_length = 50,default= '')
referencedDoctor = models.ForeignKey(DoctorModel,on_delete=models.Set_Null)
我想要的是,当患者选择“referencedDoctor”时,他会从 DoctorModel 中的“doctorName”中选择他
我该怎么做?
解决方法
你应该为你的模型创建 __ str __ 方法。
class DoctorModel(models.Model):
user = models.OneToOneField(CustomUser,on_delete=models.CASCADE)
doctorName = models.CharField(max_length = 150,default="")
doctorEmail = models.EmailField(max_length=50,default="")
speciality = models.CharField(choices = SPECIALITY,max_length = 20,default="")
doctorStatus = models.CharField(choices = DOCTOR_STATUS,max_length = 15,default="")
def __str__(self):
return f"{self.doctorName}"
顺便说一句,尝试对您的字段使用 null=True。会更容易实施。
,你可以像这样在Doctor模型中定义一个dunder字符串函数
class DoctorModel(models.Model):
user = models.OneToOneField(CustomUser,default="")
def__str__(self):
return self.doctorName
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。