Skip to Content
เมนู
คุณต้องลงทะเบียนเพื่อโต้ตอบกับคอมมูนิตี้
คำถามนี้ถูกตั้งค่าสถานะ
1 ตอบกลับ
5719 มุมมอง

Can anyone explain model inheritance and method override concept? I have module A with function/method X being extended using super in module B. then I have module C overriding function X from module A. It seems that extended function from module B not executed, is there any explanation about this?

อวตาร
ละทิ้ง

I know there are 3 types of inheritance. But I was faced with several problems.

It would be more helpful if you give a sample code or example so that we can explain you with your example.

คำตอบที่ดีที่สุด

Hello Bayu Arasyi,

• Make sure you have inherited the model using “_inherit” and while Overriding the method you have called super method in the both the modules B & C.

• As with the use of “Super” method you can override the method and the code done before can be extended.

• Now based on your requirement if you want to extend your code first , then return super method at last otherwise vice-versa.

Find Code in Comment. 

Thanks & Regards,
Email: odoo@aktivsoftware.com
Skype: kalpeshmaheshwari

อวตาร
ละทิ้ง

class A(self):
_name = “x.y”

def X(self):
<your code>

class B(self):
_inherit = “x.y”

def X(self):
res = super(B, self).x()
<your extended code>
return res

class C(self):
_inherit = “x.y”

def X(self):
<your extended code>
return super(C,self).m()

Related Posts ตอบกลับ มุมมอง กิจกรรม
0
ม.ค. 17
4729
can't override a function แก้ไขแล้ว
1
มิ.ย. 16
4760
0
มิ.ย. 25
797
1
ส.ค. 23
3943
0
เม.ย. 23
2985