Mar*_*z-C 5 django django-models django-admin
我尝试翻译 Django 管理站点,但在ManyToMany TabularInline. 我的models.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'
Run Code Online (Sandbox Code Playgroud)
我的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',]
Run Code Online (Sandbox Code Playgroud)
除“专业化”栏外,所有内容均已翻译。我怎样才能改变它的名字?
好吧,这不是一个完整的解决方案。但我希望这对你有帮助。在 调用的模板中TabularInline,admin/edit_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>
Run Code Online (Sandbox Code Playgroud)
这告诉我您可以向字段添加标签。因此,通过创建自定义表单
class SpecializationForm(ModelForm):
specializations = forms.ModelChoiceField(queryset=Specialization.objects.all(), label='Specjalizacja')
class Meta:
model = Specialization
fields = ('specializations', )
Run Code Online (Sandbox Code Playgroud)
并在你的中调用它SpecializationInline
class SpecializationInline(admin.TabularInline):
model = Doctor.specializations.through
verbose_name = 'Specjalizacja'
verbose_name_plural = 'Specjalizacja'
form = SpecializationForm
Run Code Online (Sandbox Code Playgroud)
这应该允许您更改文本。
| 归档时间: |
|
| 查看次数: |
1987 次 |
| 最近记录: |