モデルフィールドにローカライズされた "選択肢"のリストを使用すると、管理者は翻訳された値をリストビューに表示しません。Django管理者はPython 2.3のリストビューで翻訳された列挙を表示しません
ショート例:
from django.utils.translation import ugettext_lazy as _
class OrderStates:
STATES = (
(STATE_NEW, _("New")),
(STATE_CANCELLED, _("Cancelled")),)
class Order(models.Model):
state = models.IntegerField(choices=OrderStates.STATES)
# ..
class OrderAdmin(admin.ModelAdmin):
list_display = [ 'id', 'state', 'address', 'user']
# ..
admin.site.register(Order, OrderAdmin)
「新」のローカライズ版と順序を編集するときに、フロントエンドにし、管理者の形式で正しく表示され、「キャンセル」。しかし、管理者リストビューで空白のフィールドが表示されます - 私は英語を含めて、私が切り替えた言語に関係なく。列名は問題ありません。
これは、Python 2.3(ニッチな質問について話す)でのみ発生します。選択肢はPython 2.5でどこでも正しく表示されます。私はどちらのエラーも警告も受け取りません。
オプションでugettext_lazyの代わりにugettextを使ってみましたが、これはうまくいきませんでした。 ugettext_noopの作品 - 少なくとも空白のフィールドの代わりにオリジナルの英語版を表示します。
私は何か間違っているのですか、これはバグですか?
最初に1.0.2で試してみました.1.1(ライブサーバーで試してみると、適切に)。 –
完璧に動作する1.1 –
サイドノートとして - 私はちょうどライブサーバー上で1.1アップグレードを行うために少しプッシュが必要だと思います。ちょうど少数のDjangoのサイトしかありませんが...まだ幸いにも何もこのプロセスで壊れませんでした。 –