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?
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Księgowość
- Zapasy
- PoS
- Project
- MRP
To pytanie dostało ostrzeżenie
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()
Podoba Ci się ta dyskusja? Dołącz do niej!
Stwórz konto dzisiaj, aby cieszyć się ekskluzywnymi funkcjami i wchodzić w interakcje z naszą wspaniałą społecznością!
Zarejestruj sięPowiązane posty | Odpowiedzi | Widoki | Czynność | |
---|---|---|---|---|
|
0
sty 17
|
4771 | ||
can't override a function
Rozwiązane
|
|
1
cze 16
|
4793 | |
|
0
cze 25
|
846 | ||
Setting a computed default value on a field
Rozwiązane
|
|
1
sie 23
|
3976 | |
|
0
kwi 23
|
3001 |
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.