Отношения M2M в Django и промежуточной таблице содержат дополнительное поле - PullRequest
0 голосов
/ 21 января 2020

У меня есть модели с отношением M2M, такие как clini c и Doctor, но третья пользовательская промежуточная таблица с дополнительным смещением поля.

class ClinicHospital(models.Model):
    name  = models.CharField(max_length = 256)
    address = models.TextField()
    contact = models.CharField(max_length = 15)
    lat = models.FloatField()
    lon = models.FloatField()

class Doctor(models.Model):
    name =  models.CharField(max_length = 256)
    speciality = models.CharField(max_length = 256)
    contact = models.CharField(max_length = 12)
    speciality = models.ForeignKey(Speciality, on_delete=models.CASCADE)
    clinic_hospital = models.ManyToManyField(ClinicHospital, through='DoctorHospital')

промежуточная таблица

class DoctorHospital(models.Model):
    clinic = models.ForeignKey(ClinicHospital, on_delete=models.CASCADE)
    doctor = models.ForeignKey(Doctor, on_delete=models.CASCADE)
    shift = models.CharField(max_length = 10)

Проблема Во-первых, таблица DoctorHospital не отображается / не создается в БД. Во-вторых, когда я сохраняю Clini c, он делает, но Доктор не сохраняет, он возвращает ошибку: doctorhospital не существует.

enter image description here

это сообщение об ошибке показать при сохранении Доктор

...