有没有办法在django管理界面中对模型进行分组?
我目前有一个名为requests的应用程序,管理站点中显示以下模型:
**Requests**
Divisions
Hardware Requests
Hardware Types
Requests
Software Requests
Software Types
我希望将这些部门,软件请求和硬件请求分别分组到“类型”组中。 我知道我可以覆盖和硬编码admin / index.html和base_site.html,但这似乎很复杂,只是为了指定分组。
我可以添加到Meta类以指定组名吗?
到目前为止,我发现实现我想要的唯一方法是将模型移动到请求中的新应用程序(“requests.Types”)但是再次感觉不像是'正确的方式'。< / p>
答案 0 :(得分:7)
在模型定义中没有任何东西可以用来做这件事,因为模型 - 按设计 - 不知道管理员的存在,或者它们将如何在管理员中呈现。< / p>
这种情况下,您只需编写一个可以满足您需求的模板并使用它;所有你要求的是一个表现性的变化,模板是你在Django中进行演示的地方。
答案 1 :(得分:1)
您可以使用django-modeladmin-reorder进行操作。
您将按照以下方式以某种方式对其进行配置(settings.py):
ADMIN_REORDER = (
{'app': 'requests', 'label': 'Types',
'models': (
'requests.Divisions',
'requests.HardwareRequests',
'requests.HardwareTypes'
)
},
{'app': 'requests', 'label': 'Other models',
'models': (
'requests.Requests',
'requests.SoftwareRequests',
'requests.SoftwareTypes'
)
},
)