Миграции Django не обнаруживают уникальность = Истинное изменение - PullRequest
0 голосов
/ 04 января 2019

Я получаю следующую ошибку после попытки добавить иностранный ключ от CrackingJob.hash_mode_numeric до HashMappings.

Первоначально я пытался установить FK непосредственно на HashMappings.hash_mode_numeric без ограничения уникальности, и это правильно выдало ошибку, но после добавления unique=True я все еще получаю ошибку. Даже когда я пытаюсь просто использовать PK (автоматически сгенерированный уникальный идентификатор) в качестве FK, как в коде ниже.

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

Соответствующий код:

class HashMappings(models.Model):
    hash_name = models.CharField(max_length=255, unique=True)
    hash_mode_numeric = models.IntegerField(unique=True)
    example_hash = models.TextField(max_length=2500)
    supported = models.BooleanField(default=0)

    class Meta:
        ordering = ['hash_name']

    def __str__(self):
        return f'{self.hash_name}'


class CrackingJob(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.SET_NULL)
    description = models.CharField(max_length=255)
    hash_mode_numeric = models.ForeignKey(HashMappings, on_delete=models.CASCADE)

1 Ответ

0 голосов
/ 04 января 2019

попытаться очистить данные в таблице hashmappings и затем выполнить команду migrate -> python manage.py migrate

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...