Python:如何从两个类继承?

0 投票
3 回答
1226 浏览
提问于 2025-04-15 18:48

首先,我是个Python新手。

我正在玩Django,想要扩展一些类。

现在我遇到了这样的情况:

我有一个新类

customBaseModelAdmin(admin.options.BaseModelAdmin):
    #override a method of BaseModelAdmin

我想写另一个类

customModelAdmin(customBaseModelAdmin):

这个类显然是要继承customBaseModelAdmin,但它还需要有标准ModelAdmin的相同方法。

但是,因为标准的ModelAdmin是继承自标准的BaseModelAdmin,那我该怎么做呢?

我试过用这个定义

class customModelAdmin(customBaseModelAdmin, admin.options.ModelAdmin):

但它没有成功。

你有什么建议吗?

谢谢,

乔瓦尼

3 个回答

0

你可以这样做:

class customModelAdmin(customBaseModelAdmin):
    etc
2

为什么不直接为customBaseModelAdmin创建一个ModelAdmin的子类呢?

2

只需要让 customBaseModelAdmin 继承自 ModelAdmin。这样你仍然可以重写 BaseModelAdmin 中的方法。

不过,ModelAdmin 也可能会重写这个方法。我建议你查看一下这些类的源代码,真正了解里面发生了什么。

撰写回答