代码之家  ›  专栏  ›  技术社区  ›  Giovanni Di Milia

巨蟒:如何从两个类继承?

  •  0
  • Giovanni Di Milia  · 技术社区  · 15 年前

    首先,我是一个巨蟒新手。

    我在和姜戈一起玩,我正在尝试扩展一些课程。

    现在我处于这种情况:

    我有一个新班

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

    我想再写一节课

    customModelAdmin(customBaseModelAdmin):
    

    显然继承了 customBaseModelAdmin ,但与标准方法相同 ModelAdmin . 但是,因为标准 模型管理员 继承标准 BaseModelAdmin ,我该怎么办?

    我试过定义

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

    但它不起作用。

    你有什么建议吗?

    谢谢,

    乔凡尼

    3 回复  |  直到 15 年前
        1
  •  2
  •   Felix Kling    15 年前

    就让 customBaseModelAdmin 继承自 ModelAdmin .您仍然可以从 BaseModelAdmin .

    但当然可能是那样 模型管理员 还重写此方法。我将查看这些类的源代码,以真正了解那里发生了什么。

        2
  •  2
  •   pib    15 年前

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

        3
  •  0
  •   Lennart Regebro    15 年前

    你这样做:

    class customModelAdmin(customBaseModelAdmin):
        etc