2012-08-17 19 views
6

list_display []を使用したい項目を表示できるようになりましたが、アルファベット順に表示したいのですが、list_displayはアルファベット順に並べられますか? Djangoの管理者でDjango-Adminで表示項目をアルファベット順に並べる

例:

class PersonAdmin(admin.ModelAdmin): 
    list_display = ('upper_case_name',) 

    def upper_case_name(self, obj): 
     return ("%s %s" % (obj.first_name, obj.last_name)).upper() 
    upper_case_name.short_description = 'Name' 

どのようにアルファベット順に表示するには、これを変更するには?これについての助けが必要です...

答えて

12

あなたの管理者に注文するにはModelAdmin.ordering = ('foo',)を設定してください。

https://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.ordering

そこには多くの方法があるが、あなたが最も可能性の高い管理発注をしたい、ModelAdmin.querysetを上書きし、グローバルモデルのメタクラスを変更します。

+1

ありがとうございましたが、使用方法はわかりませんでしたが、あなたの例は疑問を明確にしています... – lakesh

+1

one qn:どこにModelAdmin.ordering =( 'foo'、)を配置しますか?それは実際のコードから分離する必要がありますか?私は正しい? – lakesh

+0

lakesh:ModelAdminの定義では、list_display =( 'foo'、 'bar'など)のようなもののすぐ隣にあります。構文は理由のために似ています! –

1

Metaのモデルでは、ordering = ['first_name', 'last_name']を指定することができます。

関連する問題