2014-02-05 64 views
6

我在django管理面板中有幾個配置對象。 他們是按以下順序在django管理面板中重新排序模型對象

  • 電子郵件配置
  • 一般配置
  • 網絡配置

每個對象都可以單獨配置,但所有這些都包含在General config上市。所以基本上你主要需要General config,所以我想把它移到頂端。 我知道如何在模型本身中排序字段,但如何重新排序模型?

+2

我沒有看到一個明顯的解決方案 - 模型按照它們的_meta.verbose_name_plural排序,這發生在AdminSite.index視圖內,沒有明顯的位置掛鉤自定義代碼,缺少子類AdminSite'類,並提供你自己的'index'方法,然而這是一個巨大的單一方法,_very_繼承不友好。 – lanzz

+0

確定:(你能寫一個答案,這是不是一個合理的事情,所以我可以關閉這個問題嗎? – axe

回答

3

我沒有看到一個明顯的解決方案 - 模型按照它們的_meta.verbose_name_plural排序,這發生在AdminSite.index視圖內,沒有明顯的位置掛鉤自定義代碼,缺少子類化AdminSite類並提供你自己的索引方法,但這是一種巨大的單一方法,非常不友好。

+0

所以我剛剛寫了一個django包,它可以讓你重新命名django應用程序列表/重命名應用程序標籤和模型名稱(包括第三方應用程序) - 您可以從這裏下載: https://github.com/mishbahr/django-modeladmin-reorder – mishbah

2

如果您不介意使用骯髒的詭計,請將您的模型的verbose_name_plural預先加上一定數量的隱形zero-width spaces。例如。將1個零寬度空間的「電子郵件配置」預先設置爲1,將2配置爲「常規配置」,將3配置爲「網絡配置」。這實際上是最簡單的方法,我還沒有發現任何缺點。