假设我有一组模型,必须在管理员中与另一组模型保持(视觉上)分开。目前它们是按字母顺序排列的,这使它们混乱不堪。我想这样组织它们:
我似乎找不到如何做到这一点的文档。这可能吗?
第1组: (自定义命名)
- 模型 1
- 模型 4
第2组: (自定义命名)
- 模型 2
- 模型 3
我似乎找不到如何做到这一点的文档。这可能吗?
如果你只是想实现一些标记,我认为将业务逻辑即应用程序分开不是正确的方法。相反,我找到了Python包django-modeladmin-reorder,它让你可以轻松地实现这一点。你可以结合它标注应用程序和重新排列模型的特性,将一个应用程序的模型分组在管理员中。遵循安装说明后,将类似于以下内容添加到你的settings.py
ADMIN_REORDER = (
# First group
{'app': 'myapp', 'label': 'Group1',
'models': ('myapp.Model_1',
'myapp.Model_4',)
},
# Second group: same app, but different label
{'app': 'myapp', 'label': 'Group2',
'models': ('myapp.Model_2',
'myapp.Model_3',)
},)
class Meta:
verbose_name_plural = "93 配置:办公室名称"
- VengaVengaADMIN_REORDER = (
# 'webapp',
#### First group
{
'app': 'webapp',
'label': 'group1',
'models': (
'webapp.ProductModelName_1',
'webapp.ProductModelName_2',
'webapp.ProductModelName_3',
)
},
# Second group: same app, but different label
{
'app': 'webapp',
'label': 'group2',
'models': (
'webapp.Model_X',
'webapp.Model_Y',
)
},
)
class ProxyReview(Review):
class Meta:
proxy = True
# If you're define ProxyReview inside review/models.py,
# its app_label is set to 'review' automatically.
# Or else comment out following line to specify it explicitly
# app_label = 'review'
# set following lines to display ProxyReview as Review
# verbose_name = Review._meta.verbose_name
# verbose_name_plural = Review._meta.verbose_name_plural
# in admin.py
admin.site.register(ProxyReview)