在addons/delivery/sale.py
我们有一个类在第39行继承sale.order
:
class sale_order(osv.Model):
_inherit = 'sale.order'
这是一个扩展类(没有_name
)
有没有办法从这个类继承并重写一个方法?
答案 0 :(得分:2)
@Paulo Farinha Silva:你提供的代码片段已经是扩展课程的方法了,你可以超过或超载任何方法,并调用super方法或者你可以跳过调用super方法。示例代码段为:
#Original definition v8 addons/delivery/sale.py line no 36 :
class sale_order(osv.Model):
_name = "sale.order"
#Example method on sale order calss line #601
def action_wait(self, cr, uid, ids, context=None):
这是继承的,上面提到的方法已经超越了骑手,代码如下所示:
#Original definition v8 /addons/sale_stock/sale_stock.py line no 30 :
class sale_order(osv.Model):
_name = "sale.order"
#this is method originally defined in parent class and being over-ride here,
def action_wait(self, cr, uid, ids, context=None):
#Your Code goes here
res = super(sale_order, self).action_wait(cr, uid, ids, context=context)
#Your Code goes here
return res
通过这种方式,您可以覆盖方法,并且可以同时使用所有模型方法和字段。
贝斯茨