2

grappelliでDjangoadminを使用する場合、列ヘッダーをクリックすると、テーブルが降順で並べ替えられます。

(モデルメタクラスで順序付けフィールドを定義することにより、列のデフォルトの順序付けは必要ありません。)

デフォルトの動作は昇順です。

最初のクリックは次のように注文する必要があります。

必要な動作

4

1 に答える 1

1

書き直しdef result_headers(cl)

次の2行を追加します。

    .....
    .....
    th_classes = ['sortable']
    order_type = ''

    #new lines

    default_order_type = getattr(attr, "admin_order_first_type", None)
    new_order_type = default_order_type if default_order_type else 'asc'

    #end of new lines

    sort_priority = 0
    sorted = False
    ...
    ...

ModelAdminで、次のことができます。

list_display = ('number_of_players', ....)

def number_of_players(self, team):
        return intcomma(team.number_of_players)

number_of_players.short_description = '# num of players'
number_of_players.admin_order_field = 'number_of_players'
number_of_players.admin_order_first_type = 'desc' #will make the column to be ordered desc first

私はそれをテストしました、そしてそれは働きます

于 2012-10-16T14:46:09.767 に答える