尝试保存新对象时出现此错误。试图问谷歌,没有什么帮助。我认为我的问题是产品和翻译表的ID不同,但是我不知道该如何解决。对不起,我的英语。
django == 1.10.7 django-parler == 1.8
异常类型:IntegrityError
异常值:
在表“ pcart_catalog_product_translation”上插入或更新违反了外键约束“ pcart_catalog_pr_master_id_571a2ec0_fk_pcart_catalog_product_id” 详细信息:表“ pcart_catalog_product”中不存在键(master_id)=(a74f5571-512d-4bd5-9164-0388dd22bcd8)。
这是我的对象的一部分:
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引发错误,试图在他的创作之前与产品建立联系。就像是由Django-parler引用翻译字段一样。