Django错误地声称"There is no unique constraint matching given keys for referenced table"



如果我将以下类添加到模型中,则所有这些都可以在迁移中效果很好。

class BeursCheck(models.Model):
    order = models.IntegerField(default=None)
    painting = models.ForeignKey(Painting, related_name='beursCheck',primary_key=True)

但是,如果我添加此字段。

mturk_assignment = models.ForeignKey(
    'mturk.MtAssignment', null=True, blank=True,
    related_name='+', on_delete=models.SET_NULL, unique=True
)

它失败了错误

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

此字段与mtassignemnt有关,具有唯一的键。这相关的回答甚至是这样。

class MtAssignment(MtModelBase):
     id = models.CharField(max_length=128, primary_key=True)

尝试更改为:

from mturk.models import MtAssigmnet
    mturk_assignment = models.ForeignKey(
        MtAssignment, null=True, blank=True,
        related_name='+', on_delete=models.SET_NULL
    )

相关内容

  • 没有找到相关文章