2014-02-05 63 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配置为“网络配置”。这实际上是最简单的方法,我还没有发现任何缺点。