是否可以从ODOO中的扩展类继承?

时间:2014-10-31 18:18:13

标签: python python-2.7 openerp odoo

addons/delivery/sale.py我们有一个类在第39行继承sale.order

class sale_order(osv.Model):
    _inherit = 'sale.order'

这是一个扩展类(没有_name

有没有办法从这个类继承并重写一个方法?

1 个答案:

答案 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

通过这种方式,您可以覆盖方法,并且可以同时使用所有模型方法和字段。

贝斯茨