Django中的多重继承

2 投票
1 回答
1261 浏览
提问于 2025-04-16 11:20

我在做一个项目,使用的是Django框架。我想用几个应用程序,这些应用程序通过继承管理类来扩展管理后台。

我该怎么让这几个应用程序都能继承管理类呢?

from django.contrib import admin
from testing.models import *
from reversion.admin import VersionAdmin
from moderation.admin import ModerationAdmin

class ItemAdmin(VersionAdmin):
    pass

admin.site.register(Item, ItemAdmin)

1 个回答

4

VersionAdmin和ModerationAdmin这两个东西看起来都在用Python的“协作超类”这个功能。所以我建议你可以试试用多重继承的方法:

class ItemAdmin(VersionAdmin, ModerationAdmin):
    pass

如果这样不行,你可以试试把继承的顺序反过来。如果还是不行,那就需要仔细研究一下具体的问题,找出为什么协作超类不管用。

撰写回答