私はいくつかの言語を含むウェブサイトを構築しています。
したがって、すべてのモデルクラスのすべての属性の詳細な名前を(internationalizaton-helperを使用して)設定する必要があります。残念ながら、ユーザー属性の詳細な名前を変更する方法が見つかりません...
そして、すべてのフォームを上書きすることは、それを行うための本当に良い方法ではありませんよね?
ご協力いただきありがとうございます!
ロン
それはあなたがこれを何のために必要とするかに依存します。通常、verbose_name
管理者のコンテキスト内でのみ使用されます。それが心配する必要がある場合は、プロキシモデルを作成し、ユーザー管理者にそれを使用させることができます。
from django.contrib.auth.models import User
from django.utils.translation import ugettext_lazy as _
class CustomUser(User):
class Meta:
proxy = True
app_label = 'auth'
verbose_name = _('My Custom User')
次に、admin.pyで:
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User
from .models import CustomUser
admin.site.unregister(User)
admin.site.register(CustomUser, UserAdmin)
これは、Googleでdjangoの冗長な名前を検索するときの最初の回答なので、2012年のChrisPrattの回答をdjango2.0に修正すると思いました。
管理パネルでモデル名のみを更新する場合は、ユーザーモデルにメタクラスを追加するだけです。クリスの答えからのわずかな変化に注意してください。
class Meta:
verbose_name = 'My Custom User'