1

我想name使用 django-modeltranslation 翻译 django 应用程序(1.11)中的字段。我想翻译成 en 和 fr,但在管理面板中我得到 3 个字段而不是两个:name, name_en, name_fr.

模型.py

class Country(models.Model):
    name = models.CharField(max_length=100)
    code = models.SlugField(max_length=20, default='')

    def __str__(self):
        return self.name

管理员.py

class CountryAdmin(admin.ModelAdmin):
    list_display = ('name_en',)

翻译.py

from events.models import Country

class CountryTranslationOptions(TranslationOptions):
    fields = ('name',)
translator.register(Country, CountryTranslationOptions)
4

1 回答 1

3

请根据 TranslationAdmin(而不是 admin.ModelAdmin)继承您的管理模型

http://django-modeltranslation.readthedocs.io/en/latest/admin.html

F. 你应该有

from modeltranslation.admin import TranslationAdmin

class CountryAdmin(TranslationAdmin):
    list_display = ('name',)
于 2018-03-21T12:04:23.080 回答