mezzanine icon indicating copy to clipboard operation
mezzanine copied to clipboard

Error adding translation for Injected Fields

Open bookhankaa opened this issue 7 years ago • 6 comments

Following for this section of manual Translation for Injected Fields I'm trying to add translated extrafield for RichTextPage model: settings.py

EXTRA_MODEL_FIELDS = (
    (
        "mezzanine.pages.models.RichTextPage.quote",
        "TextField",
        ("Page's Quote",),
        {"blank": True},
    ),
)

translation.py

from modeltranslation.translator import translator
from mezzanine.pages.translation import TranslatedRichTextPage
from mezzanine.pages.models import RichTextPage

class TranslatedInjectedPage(TranslatedRichTextPage):
    fields = ('quote',),

translator.unregister(RichTextPage)
translator.register(RichTextPage, TranslatedInjectedPage)

and I get:

Error adding translation field. Model 'RichTextPage' already contains a field named 'content_en'.

bookhankaa avatar Feb 20 '18 15:02 bookhankaa

from modeltranslation.translator import translator, TranslationOptions
from mezzanine.pages.models import RichTextPage

class TranslatedInjectedPage(TranslationOptions):
    fields = ('quote',),

translator.unregister(RichTextPage)
translator.register(RichTextPage, TranslatedInjectedPage)

All fields and quote field transleted, content field NOT transleted.

bookhankaa avatar Feb 20 '18 19:02 bookhankaa

And just simple:

from modeltranslation.translator import translator
from mezzanine.pages.translation import TranslatedRichTextPage
from mezzanine.pages.models import RichTextPage

translator.unregister(RichTextPage)
translator.register(RichTextPage, TranslatedRichTextPage)

Doesn't works with error: Model 'RichTextPage' already contains a field named 'content_en'.

bookhankaa avatar Feb 21 '18 08:02 bookhankaa

I have a similar problem - running version from master, commit aea2e994f429eedd2c304bd6895ee7e024c22ba0

antnieszka avatar Apr 27 '18 18:04 antnieszka

Me too

abusquets avatar May 08 '18 21:05 abusquets

same here, 4.3.0 stable.

mfoacs avatar Jul 16 '18 21:07 mfoacs

This is a bug of django-modeltranslation that never got addressed.

One workaround would be to manually add translated fields using EXTRA_MODEL_FIELDS for each target language.

Kniyl avatar Jul 17 '18 07:07 Kniyl