2011-02-06 77 views
2

我正在使用Django作爲項目,並且我想使用一些擴展admin的子類化管理類的應用程序。與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) 
+0

您無法繼承模塊。子類是...呃...類。 `class ItemAdmin(VersionAdmin,ModerationAdmin)`你想要什麼? (我懷疑它。)如果是這樣,爲什麼它不工作? – Thomas 2011-02-06 18:42:29

回答

4

VersionAdmin和ModerationAdmin似乎都使用Python的「合作超級」功能。所以我會嘗試使用多重繼承:

class ItemAdmin(VersionAdmin, ModerationAdmin): 
    pass 

如果失敗,您可以看到它是否更好地使用相反的順序。如果這仍然失敗,你需要研究具體問題,並找出合作超級爲什麼不起作用。