Mezzanine を使用して Web サイトを開発していますが、modelTranslation プラグインの設定に問題があります。Django 1.8.9 と Mezzanine 4.0.1、django_modeltranslation 0.11 を使用しています。
いくつかのフィールドを持つモデル クラス GenericContent があります。
class GenericContent(models.Model):
image_footer = RichTextField(blank=True)
video_footer = RichTextField(blank=True)
summary = RichTextField(blank=True)
class BasicContent(Page, RichText, GenericContent):
pass
basicContent アプリの translation.py ファイルには、次の modelTranslation 翻訳定義があります。
class TranslatedGenericContent(TranslationOptions):
fields = ('summary',
'image_footer',
'video_footer',)
class TranslatedBasicContent(TranslationOptions):
pass
translator.register(GenericContent, TranslatedGenericContent)
translator.register(BasicContent, TranslatedBasicContent)
この構成では、エラーは表示されませんが、basicContent は翻訳されません (genericContent から継承されたフィールドは翻訳用に登録されますが、basicContent では翻訳されず、親クラスの他のフィールドも翻訳されません[ページおよび RichText]、これらはメザニンに含まれるクラスであり、翻訳用に登録されています)。
translation.py ファイルを変更しようとすると:
class TranslatedGenericContent(TranslationOptions):
fields = ('summary',
'image_footer',
'video_footer',)
translator.register(GenericContent, TranslatedGenericContent)
translator.register(BasicContent, TranslatedGenericContent)
この他の構成では、python manage.py sync_translation_fieldsを実行しようとするとエラーが発生します
basicContent.BasicContent.image_footer_en: (models.E006) The field 'image_footer_en' clashes with the field 'image_footer_en' from model 'basicModels.genericcontent'.
basicContent.BasicContent.image_footer_es: (models.E006) The field 'image_footer_es' clashes with the field 'image_footer_es' from model 'basicModels.genericcontent'.
basicContent.BasicContent.summary_en: (models.E006) The field 'summary_en' clashes with the field 'summary_en' from model 'basicModels.genericcontent'.
basicContent.BasicContent.summary_es: (models.E006) The field 'summary_es' clashes with the field 'summary_es' from model 'basicModels.genericcontent'.
basicContent.BasicContent.video_footer_en: (models.E006) The field 'video_footer_en' clashes with the field 'video_footer_en' from model 'basicModels.genericcontent'.
basicContent.BasicContent.video_footer_es: (models.E006) The field 'video_footer_es' clashes with the field 'video_footer_es' from model 'basicModels.genericcontent'.
この問題を経験したことがありますか? これの修正を検討しています。どんな助けでも大歓迎です!