61

タイトルが示すように。管理アプリケーションで単一のフィールドのラベルを変更できるようにしたいと考えています。Form.field 属性は知っていますが、Model または ModelAdmin にその情報を渡すにはどうすればよいですか?

4

5 に答える 5

96

フィールドの詳細な名前は、フィールド構築時の (オプションの) 最初のパラメーターです。

于 2008-12-13T13:59:40.527 に答える
36

フィールドがプロパティ (メソッド) の場合は、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"
于 2013-02-07T04:25:28.450 に答える
27

Javier が示唆したように、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 ファイルは、これらのフィールドに記載されている verbose_name に従って、その名前を管理フォームに表示します。

于 2014-06-09T13:36:37.217 に答える
6
from django.db import models

class MyClassName(models.Model):    
    field_name = models.IntegerField(verbose_name='Field Caption')
于 2016-10-13T08:51:27.173 に答える
5

ハビエルの答えに基づいています。フォーム (フロントエンド) に 1 つのラベルが必要で、管理者に別のラベルが必要な場合は、モデルに内部 (管理者) ラベルを設定し、フォームに上書きするのが最善です。もちろん、管理者はモデル フィールドのラベルを自動的に使用します。

于 2008-12-13T16:56:52.620 に答える