Django нет уникального ограничения, соответствующего заданным ключам для ссылаемой таблицы
У меня есть 3 модели:
class Event_type(models.Model):
"""
Event_type is like a category model for patient,
datebase relationship is one to many
"""
name = models.CharField(max_length=40,unique=True)
class Meta:
verbose_name = "event_type"
verbose_name_plural = verbose_name
def __str__(self):
return self.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, on_delete=models.CASCADE,
blank=True,
verbose_name='event type',
to_field='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)
class Meta:
verbose_name = 'Event'
verbose_name_plural = verbose_name
ordering = ['-event_id']
def __str__(self):
return self.event_type.name
Event - первичная таблица, Event_type и Patient - обе внешние таблицы. После того, как я добавлю:
to_field='name'
into class Event
приходит ошибка:
django.db.utils.ProgrammingError: there is no unique constraint matching given keys for referenced table "patients_event_type"
Любой друг может помочь?
Убедитесь, что вы запустили python manage.py makemigrations
и python manage.py migrate