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

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