Работа с внешними ключами в 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, если это произойдет?

Вы можете добавить поля doctor_name и clinic_name в ваш models.py:

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)

И каждый раз добавлять имя врача и название клиники. Однако это очень избыточно....

На самом деле, вот схема базы данных stackoverflow -> url.
Как вы можете видеть, здесь есть OwnerDisplayName, так что посты все еще имеют имя автора.

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