为 Django rest 使用多个 admin.py 文件?

Using multiple admin.py files for Django rest?

我目前有 2 个 admin.py 个文件。

  1. project/admin.py
  2. project/pages/basicpage/admin.py

我想在第二个 admin.py 和第一个 admin.py 中使用已注册的 classes,以便可以在同一个管理端点访问它们。

文件一:project/admin.py

from django.contrib import admin
from project import models
from project.pages.basicpage import admin as BP_admin


@admin.register(models.Test)
class TestAdmin(admin.ModelAdmin):
    pass

文件二:project/pages/basicpage/admin.py

from django.contrib import admin
from project import models

@admin.register(models.Platform)
class PlatformAdmin(admin.ModelAdmin):
    pass


@admin.register(models.Type)
class TypeAdmin(admin.ModelAdmin):
    pass

在文件一中,我将第二个管理员导入为BP_admin,但尚未使用。但是,当我访问我的 http://127.0.0.1:8000/admin 端点时,可以理解的是,我只能查看在第一个文件中注册的“测试”class。知道如何让我的第二个文件中的其他 2 classes 注册到第一个文件的端点吗?

谢谢!

Admin 只是模型,因此导入模型应该就足够了。您可以添加:

from project.pages.basicpage import models as BP_models

@admin.register(models.Test)
...

@admin.register(BP_models.Platform)
class Platform(models.Platform):
    pass

你也可以简化而不使用 class:

@admin.register(models.Test, BP_models.Platform,....)