django.db.utils.IntegrityError "Ошибка выполнения изменений" - PullRequest
0 голосов
/ 20 октября 2019

django.db.utils.IntegrityError: строка в таблице 'biblioteka_book' с первичным ключом '1' имеет недопустимый внешний ключ: biblioteka_book.info_id содержит значение '1', которое не имеет соответствующего значения в biblioteka_extrainfo. id.

from django.db import models

# Create your models here.
class ExtraInfo(models.Model):
    OCENY = {
        (0, 'Nieznany'),
        (1, 'Słaba'),
        (2, 'Średnia'),
        (3, 'Dobra'),
        (4, 'Bardzo dobra'),
        (5, 'Arcydzieło')
    }
    ilosc_stron = models.IntegerField(default=0)
    ocena = models.IntegerField(default=0, choices=OCENY)


class Book(models.Model):
    nazwa = models.CharField(max_length=60)
    opis = models.TextField()
    gatunek = models.CharField(max_length=30)
    cena = models.DecimalField(max_digits=400, decimal_places=2)
    wydanie = models.IntegerField(null=True, blank=True)
    autor = models.CharField(max_length=30)
    zdjecie = models.ImageField(null=True, blank=False, upload_to='Pictures')
    przecena = models.BooleanField()
    info = models.OneToOneField(ExtraInfo, on_delete=models.CASCADE, primary_key=True,)

    def __str__(self):
        return self.nazwa_with_wydanie()

    def nazwa_with_wydanie(self):
        return str(self.nazwa) + " (" + str(self.wydanie) + ")"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...