Я получаю следующую ошибку после попытки добавить иностранный ключ от 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)