在 Django 中处理外键
dealing with foreign keys in Django
我正在创建一个医生预约系统,我确实也包含了处方
class Prescription(models.Model):
id = models.UUIDField(default=uuid.uuid4, primary_key=True, editable=False)
user = models.ForeignKey(User, on_delete=models.CASCADE)
doctor = models.ForeignKey(Doctor, null = True, on_delete=models.SET_NULL)
clinic = models.ForeignKey(Clinic, on_delete=models.SET_NULL)
我在想如果医生因为某些原因删除了他的账号怎么办,这种情况医生或者诊所可以设置为null吗?
您可以在 models.py 中添加 doctor_name
和 clinic_name
字段:
class Prescription(models.Model):
id = models.UUIDField(default=uuid.uuid4, primary_key=True, editable=False)
user = models.ForeignKey(User, on_delete=models.CASCADE)
doctor = models.ForeignKey(Doctor, null = True, on_delete=models.SET_NULL)
clinic = models.ForeignKey(Clinic, on_delete=models.SET_NULL)
doctor_name = models.CharField(max_length=100, blank=False)
clinic_name = models.CharField(max_length=100, blank=False)
并且每次都加上医生的名字和诊所的名字。然而,这是非常多余的....
实际上,这里是 Whosebug 的数据库模式 -> url。
如您所见,OwnerDisplayName
所以帖子仍然有作者姓名。
我正在创建一个医生预约系统,我确实也包含了处方
class Prescription(models.Model):
id = models.UUIDField(default=uuid.uuid4, primary_key=True, editable=False)
user = models.ForeignKey(User, on_delete=models.CASCADE)
doctor = models.ForeignKey(Doctor, null = True, on_delete=models.SET_NULL)
clinic = models.ForeignKey(Clinic, on_delete=models.SET_NULL)
我在想如果医生因为某些原因删除了他的账号怎么办,这种情况医生或者诊所可以设置为null吗?
您可以在 models.py 中添加 doctor_name
和 clinic_name
字段:
class Prescription(models.Model):
id = models.UUIDField(default=uuid.uuid4, primary_key=True, editable=False)
user = models.ForeignKey(User, on_delete=models.CASCADE)
doctor = models.ForeignKey(Doctor, null = True, on_delete=models.SET_NULL)
clinic = models.ForeignKey(Clinic, on_delete=models.SET_NULL)
doctor_name = models.CharField(max_length=100, blank=False)
clinic_name = models.CharField(max_length=100, blank=False)
并且每次都加上医生的名字和诊所的名字。然而,这是非常多余的....
实际上,这里是 Whosebug 的数据库模式 -> url。
如您所见,OwnerDisplayName
所以帖子仍然有作者姓名。