Django postgres :нет уникального ограничения, соответствующего заданным ключам для ссылаемой таблицы " "

У меня есть 3 таблицы (модели):

event,event_type,patient

и event_type, и patient являются внешними ключами для event.

event fields:id, event_type(foreign key),event_unit, event_value,event_time, patient(foreign key)

event_type fields: id, type_name

patient fields : patient_id ,patient_name

Я использовал Django для создания таблиц:

class Event_type(models.Model):
   
    type_name = models.CharField(max_length=40,null=True,unique=True)


    class Meta:
        verbose_name = "event_type"
        verbose_name_plural = verbose_name

    def __str__(self):
        return self.type_name


class Patient(models.Model):
    patient_id = models.AutoField(unique=True, primary_key=True)  # patient identification
    patient_name = models.CharField(max_length=30, unique=True, verbose_name='patient_name')

    class Meta:
        verbose_name = 'Patient'
        verbose_name_plural = verbose_name
        ordering = ['-patient_id']

    def __str__(self):
        return self.patient_name


class Event(models.Model):
    event_id = models.AutoField(unique=True, primary_key=True)
    event_type = models.ForeignKey(Event_type, null=True, blank=True,on_delete=models.CASCADE,
                                   verbose_name='event type',default="",to_field='type_name'
                                   )
    event_value = models.PositiveIntegerField(default=0, verbose_name='even value', blank=True)
    event_unit = models.CharField(max_length=100, blank=True,
                                  verbose_name='event unit')
    event_time = models.DateTimeField(auto_now=False, verbose_name='event time')
    patient = models.ForeignKey(verbose_name='patient', to='Patient', to_field='patient_id', on_delete=models.CASCADE,default="")

    class Meta:
        verbose_name = 'Event'
        verbose_name_plural = verbose_name
        ordering = ['-event_id']

    def __str__(self):
        return self.event_type.type_name

После:

 python manage.py migrate

Я получил ошибку:

django.db.utils.ProgrammingError: there is no unique constraint matching given keys for referenced table "patients_event_type"

Есть ли друзья, которые могут помочь?

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