Django Admin:更改内联多个字段中显示的列名

Django Admin:更改内联多个字段中显示的列名,django,django-models,django-admin,Django,Django Models,Django Admin,我试图翻译Django管理站点,但我在manytomytablerinline方面遇到了问题。My型号.py为: class Doctor(models.Model): (...) specializations = models.ManyToManyField(Specialization, blank=True, verbose_name='Specjalizacje') class Meta: verbose_name = 'Lekarz'

我试图翻译Django管理站点,但我在
manytomy
tablerinline
方面遇到了问题。My
型号.py
为:

class Doctor(models.Model):
    (...)
    specializations = models.ManyToManyField(Specialization, blank=True, verbose_name='Specjalizacje')

    class Meta:
        verbose_name = 'Lekarz'
        verbose_name_plural = 'Lekarze'

class Specialization(models.Model):
    name = models.CharField(max_length=191, verbose_name='Nazwa')

    class Meta:
        verbose_name = 'Specjalizacja'
        verbose_name_plural = 'Specjalizacje'
我的
admin.py
看起来像:

class SpecializationInline(admin.TabularInline):
    model = Doctor.specializations.through
    verbose_name = 'Specjalizacja'
    verbose_name_plural = 'Specjalizacja'

@admin.register(Specialization)
class SpecializationAdmin(admin.ModelAdmin):
    list_display = ['name',]

@admin.register(Doctor)
class DoctorAdmin(admin.ModelAdmin):
    inlines = [SpecializationInline,]

    # this field is added as inline
    exclude = ['specializations',]
生成的Django管理页面如下所示:


除了“专业化”栏外,所有内容都被翻译。如何更改其名称?

好的,这不是一个完整的解决方案。但我希望这能帮到你。 在由
TabularInline
调用的模板中,
admin/edit\u inline/tabular.html

构建表的“标题”部分的部分

 <thead><tr>
   ...
 {% for field in inline_admin_formset.fields %}
   {% if not field.widget.is_hidden %}
     <th{% if field.required %} class="required"{% endif %}>
        {{ field.label|capfirst }}
        ...
     </th>
   {% endif %}
 {% endfor %}
 ...
 </tr></thead>
并在您的
SpecializationInline中调用它

class SpecializationInline(admin.TabularInline):
    model = Doctor.specializations.through
    verbose_name = 'Specjalizacja'
    verbose_name_plural = 'Specjalizacja'
    form = SpecializationForm

这应该允许您更改文本。

应该有queryset=Specialization.objects.all()使其工作,但谢谢!
class SpecializationInline(admin.TabularInline):
    model = Doctor.specializations.through
    verbose_name = 'Specjalizacja'
    verbose_name_plural = 'Specjalizacja'
    form = SpecializationForm