當使用Django admin與grappelli我希望單擊列標題將按降序對錶進行排序。Django Admin Column按降序排序
(我沒有在模型元類定義的排序字段需要有一個默認的排序爲列。)
默認行爲是升序。
的第一點擊應當責令這樣的:
當使用Django admin與grappelli我希望單擊列標題將按降序對錶進行排序。Django Admin Column按降序排序
(我沒有在模型元類定義的排序字段需要有一個默認的排序爲列。)
默認行爲是升序。
的第一點擊應當責令這樣的:
添加這兩條線:在的ModelAdmin
.....
.....
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
...
...
現在,您可以:
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
我測試了它和它的作品
目前當您單擊列標題的表由按升序該列排序。脫字號顯示在列標題旁邊,如果您單擊該列,然後按降序對列進行排序。
這是足夠滿足您的需求嗎?還是希望列標題單擊時按降序對列進行排序?爲了獲得這種行爲,可能需要grappelli的一個(次要)補丁,或者安裝一些自定義的JS來修改hrefs。
我想***先***點擊降序。 是否沒有現有選項?摘要嗎? – YardenST
不是我所知道的。如果谷歌沒有幫助,你應該嘗試在羣組中詢問:https://groups.google.com/forum/?fromgroups#!forum/django-grappelli - 或者只是在github上分叉並將其設置爲配置選項,然後查看是否它被上游接受。 – scytale