2

鉴于:

#models.py
from django.db import models


class MyModel(models.Model):
    myfield = models.IntegerField('Detailed description')

#forms.py
from django import forms
from models import MyModel

class MyModelForm(forms.ModelForm):
    myfield = forms.IntegerField()


class Meta:
    model = MyModel

使用此设置 - 管理页面上不会显示详细名称,而是字段名称(首字母大写)。如果从 MyModelForm 中删除覆盖字段 - 详细名称将照常显示。如果提供带有描述的字符串作为参数labelforms.IntegerField()- 它将显示在管理页面上。
我正在寻找pythonic方式来显示模型类中定义的verbose_name,以防万一在ModelForm中覆盖了这个字段表单,而不使用label提示。

有什么想法吗?

4

1 回答 1

5

您可以像这样访问模型的详细名称:

myfield = models.IntegerField(label=MyModel._meta.get_field_by_name('myfield')[0].verbose_name)
于 2013-05-24T18:02:51.360 回答