【问题标题】:Multiple inheritance with DjangoDjango的多重继承
【发布时间】:2011-02-06 18:17:39
【问题描述】:

我在一个项目中使用 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)

【问题讨论】:

  • 你不能子类化一个模块。子类化是......呃......对于类。 class ItemAdmin(VersionAdmin, ModerationAdmin) 是你想要的吗? (我对此表示怀疑。)如果是这样,为什么它不起作用?

标签: python django class inheritance multiple-inheritance


【解决方案1】:

VersionAdmin 和 ModerationAdmin 似乎都使用了 Python 的“超级协作”功能。所以我会尝试只使用多重继承:

class ItemAdmin(VersionAdmin, ModerationAdmin):
    pass

如果失败,您可以查看它是否以相反的顺序更好地工作。如果还是不行,就需要研究下具体问题了,找出合作超级不行的原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-16
    • 2012-03-08
    • 1970-01-01
    • 2017-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-27
    相关资源
    最近更新 更多