Django模型在管理中的其他应用标签下?

2024-06-01 07:15:14 发布

您现在位置:Python中文网/ 问答频道 /正文

正在寻找一种方法,如何将ModelAdmin实例分配给一个不同于默认应用程序标签的方法,即使在最新的django1.8中也是如此。在

Django项目架构:

<root>/appone/models.py    # class ModelOne(django.db.models.Model)
<root>/appone/admin.py     # class ModelOneAdmin(
                           #     django.contrib.admin.ModelAdmin)
                           # admin.site.register(
                           #     ModelOne, ModelOneAdmin)

<root>/apptwo/models.py    # class ModelTwo(django.db.models.Model)
<root>/apptwo/admin.py     # class ModelTwoAdmin(
                           #     django.contrib.admin.ModelAdmin)
                           # admin.site.register(
                           #     ModelTwo, ModelTwoAdmin)

在上面的例子中,每个模型都出现在管理界面中,并在其由应用程序名称标记的单独组中。在

^{pr2}$

如何告诉Django ModelTwo放在appone标签下?(不改变appone应用程序源及其模型!)在

  --- appone
        |
        +--- ModelOne
        |
        +--- ModelTwo

  --- apptwo
        <empty>

Tags: django方法py应用程序adminmodelsroot标签
2条回答

你考虑过django-modeladmin-reorder

Github:https://github.com/mishbahr/django-modeladmin-reorder PyPi:https://pypi.python.org/pypi/django-modeladmin-reorder/

免责声明:去年我也遇到过类似的问题,我想把最常用的应用程序放在管理索引的顶端。找不到适合我的方案,所以我写了我自己的:-)

只需将app_label添加到ModelTwoMeta类中:

class ModelTwo():
    class Meta:
        app_label = 'appone'

相关问题 更多 >