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"
Есть ли друзья, которые могут помочь?