Джанго УНИКАЛЬНОЕ ограничение - PullRequest
0 голосов
/ 28 ноября 2018

Ошибка ограничения Django UNIQUE

django.db.utils.IntegrityError: UNIQUE constraint failed, когда я использую ограничение уникальных вместе в моделях.

Как правильно его использовать?В то время как я ввожу данные для того же издателя, того же номера выпуска, но с другим номером копии, я получаю вышеуказанную ошибку.Это правильный способ реализовать это?

class Book(models.Model):
    publisher = models.IntegerField()
    issue = models.CharField(max_length=255)

    class Meta:
        unique_together = ("publisher", "issue")

    def __str__(self):
        return "%s-%r" % (self.publisher,self.issue)


class Version(models.Model):
    book = models.ForeignKey(Book, on_delete = models.CASCADE)
    number = models.CharField(max_length=255)
    book_name = models.CharField(max_length=255)
    cover = models.ImageField(null=True)
    description = models.CharField(max_length=255)

    class Meta:
        unique_together = ("book", "number")

    def __str__(self):
        return "%s %s" % (self.number, self.book)




class Copy(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, default=1, on_delete=models.CASCADE)
    version = models.ForeignKey(Version, on_delete = models.CASCADE)
    number = models.IntegerField()
    book_id = models.AutoField(primary_key=True)
    book_size = models.CharField(null=True, blank=True,max_length=255)


    def __str__(self):
        return "%r" % (self.book_id)


    class Meta:
        unique_together = ("version", "number")
...