Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:如何从两个类继承?_Python_Django - Fatal编程技术网

Python:如何从两个类继承?

Python:如何从两个类继承?,python,django,Python,Django,首先,我是python新手 我在玩Django,我在尝试扩展一些类 现在我的处境是: 我有一门新课 customBaseModelAdmin(admin.options.BaseModelAdmin): #override a method of BaseModelAdmin 我想再写一节课 customModelAdmin(customBaseModelAdmin): 这显然继承了customBaseModelAdmin,但它具有与标准ModelAdmin相同的方法。 但是,既然标

首先,我是python新手

我在玩Django,我在尝试扩展一些类

现在我的处境是:

我有一门新课

customBaseModelAdmin(admin.options.BaseModelAdmin):
    #override a method of BaseModelAdmin
我想再写一节课

customModelAdmin(customBaseModelAdmin):
这显然继承了
customBaseModelAdmin
,但它具有与标准
ModelAdmin
相同的方法。 但是,既然标准
ModelAdmin
继承了标准
BaseModelAdmin
,我该怎么办

我试过定义

class customModelAdmin(customBaseModelAdmin, admin.options.ModelAdmin):
但它不起作用

你有什么建议吗

谢谢


Giovanni

为什么不为customBaseModelAdmin创建ModelAdmin子类?

为什么不为customBaseModelAdmin创建ModelAdmin子类?

customBaseModelAdmin
继承自
ModelAdmin
。您仍然可以从
BaseModelAdmin
重写该方法


但是当然也可能是
ModelAdmin
也覆盖了这个方法。我会查看这些类的源代码,以真正了解其中的情况。

只要让
customBaseModelAdmin
ModelAdmin
继承即可。您仍然可以从
BaseModelAdmin
重写该方法

但是当然也可能是
ModelAdmin
也覆盖了这个方法。我想看看这些类的源代码,真正了解它们的情况。

您可以这样做:

class customModelAdmin(customBaseModelAdmin):
    etc
你是这样做的:

class customModelAdmin(customBaseModelAdmin):
    etc

为什么它不起作用?如果你得到一个错误,请张贴它。为什么它不工作?如果您遇到错误,请发布它。因为我想保留ModelAdmin的原始版本(即Django提供的版本)。@Giovanni Di Milia:子类化并不意味着原始类被销毁;)是的,但是如何为customBaseModelAdmin创建ModelAdmin子类?我是说。。。你能举个例子吗?@Giovanni Di Milia:换句话说,这和我说的一样。因为我想保留ModelAdmin的原始版本(即Django提供的版本)。@Giovanni Di Milia:子类化并不意味着原始类被破坏;)是的,但是如何为customBaseModelAdmin创建ModelAdmin子类?我是说。。。你能举个例子吗?@Giovanni Di Milia:换句话说,这和我说的一样。我已经看过源代码了。。。我认为你的建议是正确的,但我必须找到如何以正确的方式推翻。。。。谢谢。我已经看过源代码了。。。我认为你的建议是正确的,但我必须找到如何以正确的方式推翻。。。。谢谢