2

If I add the following class to my model, all works fine on migration.

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

However, if I add this field..

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

It fails with error

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

This field relates to MtAssignemnt, which has a unique key. This related answered even says so.

class MtAssignment(MtModelBase):
     id = models.CharField(max_length=128, primary_key=True)
Mitchell van Zuylen
  • 3,905
  • 4
  • 27
  • 64

1 Answers1

0

try change to:

from mturk.models import MtAssigmnet

    mturk_assignment = models.ForeignKey(
        MtAssignment, null=True, blank=True,
        related_name='+', on_delete=models.SET_NULL
    )
Ernst
  • 514
  • 10
  • 26