Odoo 继承版本8中的旧方法
当我编写重写当前方法的自定义模块时,是否需要在相同版本的api中编写Odoo 继承版本8中的旧方法,odoo,Odoo,当我编写重写当前方法的自定义模块时,是否需要在相同版本的api中编写 例如,模块产品是用v7编写的,当我重写产品的方法时,这需要在v7中吗?或者我可以在v8中这样做吗?是的,您肯定可以在v7方法中重写到v8 from openerp import models, fields, api, _ class product_product(models.Model): _inherit= "product.product" _description = "Product" @ap
例如,模块产品是用v7编写的,当我重写产品的方法时,这需要在v7中吗?或者我可以在v8中这样做吗?是的,您肯定可以在v7方法中重写到v8
from openerp import models, fields, api, _
class product_product(models.Model):
_inherit= "product.product"
_description = "Product"
@api.v7
def _product_code(self, cr, uid, ids, name, arg, context=None):
res = {}
if context is None:
context = {}
for p in self.browse(cr, uid, ids, context=context):
res[p.id] = self._get_partner_code_name(cr, uid, [], p, context.get('partner_id', None), context=context)['code']
return res
我只是在Odoo8.0的新API产品类中重写v7\u product\u code方法
我希望我的回答能对您有所帮助:)您只需更新代码odoo引擎,它会根据需要自行管理升级/降级机制
from openerp import models, fields, api, _
class product_product(models.Model):
_inherit= "product.product"
_description = "Product"
@api.model
def create(self, vals):
### Add your code here
return super(product_product, self).create(vals);
@api.multi
def write(self, vals):
### Add your code here
return super(product_product, self).write(vals);
类似地,您可以覆盖旧版本的任何方法,onchange方法除外。在onchange方法中,您需要以旧模式提供定义。唯一不能这样做的情况是对于onchange
,在这种情况下,您不能混合使用新API和旧API。这意味着我的方法不适用于对更改的调用。。??