Django-parler IntegrityError при добавлении нового объекта в админ

У меня эта ошибка при попытке сохранить новый объект. Пытаюсь спросить гугл, ничего полезного. Я думаю, что моя проблема - другой идентификатор для Product и таблицы перевода, но я не знаю, как это исправить. Извините за мой английский.

django == 1.10.7 django-parler == 1.8

Тип исключения: IntegrityError

Значение исключения:
вставка или обновление таблицы "pcart_catalog_product_translation" нарушает ограничение внешнего ключа "pcart_catalog_pr_master_id_571a2ec0_fk_pcart_catalog_product_id" DETAIL: ключ (master_id)=(a74f5571-512d-4bd5-9164-0d8_catt)

Это часть моего объекта:

class Product(TranslatableModel):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
    slug = models.SlugField(_('Slug'), max_length=255, unique=True)
    external_id = models.CharField(
    _('External ID'), default='', blank=True, max_length=255, db_index=True)

    translations = TranslatedFields(
       title=models.CharField(_('Title'), max_length=255),
       description=HTMLField(_('Description'), blank=True),
       page_title=models.CharField(_('Page title'), max_length=255, blank=True),
       meta_description=models.TextField(_('Meta description'), blank=True),
       meta_keywords=models.TextField(_('Meta keywords'), blank=True),
       meta_text=models.TextField(_('Meta text'), blank=True),
)

Это настройки языка и парлера:

LANGUAGE_CODE = os.environ.get('LANGUAGE_CODE', 'uk')

LANGUAGES = [
     ('uk', 'Українська'),
]

USE_I18N = True
USE_L10N = True
USE_TZ = True

PARLER_LANGUAGES = {
    SITE_ID: (
        {'code': 'uk',},
),
    'default': {
        'fallbacks': ['uk'],
        'hide_untranslated': False,
    }
}

----------

Проблема обнаружена. Это был класс ProductImage, связанный с моим продуктом. В админ, когда я добавляю продукт первый раз. Ошибка ProductImage при попытке связаться с Product до его создания. И это похоже на ссылку на переведенное поле от Django-parler.

0 ответов

Другие вопросы по тегам