可以在Django Admin应用中更改字段标签吗?

76 投票
8 回答
80188 浏览
提问于 2025-04-11 21:00

正如标题所说,我想在管理应用中更改某个字段的标签。我知道有一个叫做Form.field的属性,但我该如何让我的模型或模型管理器把这个信息传递过去呢?

8 个回答

34

正如哈维尔所建议的,你可以在model.py文件中的字段里使用详细名称。下面是一个例子:

class Employee(models.Model):
     name = models.CharField(max_length = 100)
     dob = models.DateField('Date Of Birth')
     doj = models.DateField(verbose_name='Date Of Joining')
     mobile=models.IntegerField(max_length = 12)
     email = models.EmailField(max_length=50)
     bill = models.BooleanField(db_index=True,default=False)
     proj = models.ForeignKey(Project, verbose_name='Project')

在这里,dob、doj和proj这几个字段在管理界面中会根据你给它们设置的详细名称来显示。

44

如果你的字段是一个属性(也就是一个方法),那么你应该使用短描述(short_description):

class Person(models.Model):
    ...

    def address_report(self, instance):
        ...
    # short_description functions like a model field's verbose_name
    address_report.short_description = "Address"
112

字段的 详细名称 是在创建字段时可以选择的第一个参数。

撰写回答