如何在Python中的mixin中调用封闭类的超级?
发布时间:2020-05-25 19:33:14 所属栏目:Python 来源:互联网
导读:我在Django中有以下代码: class Parent(models.Model): def save(self): # Do Stuff Aclass Mixin(object): def save(self): # Do Stuff Bclass A(Parent, Mixin): def save(self):
|
我在Django中有以下代码: class Parent(models.Model):
def save(self):
# Do Stuff A
class Mixin(object):
def save(self):
# Do Stuff B
class A(Parent,Mixin):
def save(self):
super(A,self).save()
# Do stuff C
现在,我想使用mixin而不在父级中剔除保存的行为.因此,当我保存时,我想要做C,B和A的东西.我读过Calling the setter of a super class in a mixin然而我没有得到它并且阅读了超级文档它似乎没有回答我的问题. 问题是,我应该在mixin中加入什么来确保它能够完成B并且不会阻止Stuff A发生? 解决方法如何在你的mixin课程中调用super?class Parent(object):
def test(self):
print("parent")
class MyMixin(object):
def test(self):
super(MyMixin,self).test()
print("mixin")
class MyClass(MyMixin,Parent):
def test(self):
super(MyClass,self).test()
print("self")
if __name__ == "__main__":
my_obj = MyClass()
my_obj.test()
这将为您提供输出: $python test.py parent mixin self (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
