如何在Django Admin中模仿新应用

时间:2018-07-18 07:11:56

标签: django django-admin

我的Django应用程序中没有几个模型。如何在管理界面中模仿另一个应用程序为我的一个模型创建应用程序部分?

2 个答案:

答案 0 :(得分:1)

您可以尝试更改要移动的模型的app_label

class Meta:
    app_label = 'new_section'

只需确保相应地调整FK和M2M字段即可。
参见this answer

答案 1 :(得分:1)

AdminSite负责创建索引页面。过程是这样的:

  1. _build_app_dict构建一个字典,其中包含在给定站点注册的所有模型的各种数据(包括model._meta.app_label)
  2. get_app_list将该字典变成一个列表,该列表按应用标签和型号(详细)名称排序
  3. index方法/视图将该app_list添加到模板上下文中
  4. 呈现模板(由AdminSite.index_template指定)

如果您要做的是更改索引页面的外观(例如,通过添加一个“假”应用程序以不同的方式对模型进行分组),创建一个custom AdminSite并进入上述四个步骤中的任何一个可能比弄乱内部应用程序注册表更干净。