大佬教程收集整理的这篇文章主要介绍了Odoo 14 覆盖方法,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试创建一个覆盖销售订单确认按钮的 odoo 模块。我按照我找到的信息,我创建了以下代码,但它不起作用。
from odoo import models,fIElds,API
import logging
_logger = logging.getLogger(__name__)
class SALEoverrIDe(models.Model):
_name = 'SALEoverrIDe.saleoverrIDe'
_description = 'SALEoverrIDe'
_inherit = 'SALE.order'
name = fIElds.Char()
# value = fIElds.Integer()
# value2 = fIElds.float(compute="_value_pc",store=TruE)
description = fIElds.Text()
transaction_IDs = fIElds.Many2many('payment.transaction','SALEoverrIDe_transaction_rel','SALEoverrIDe_ID','transaction_ID',String='transactions',copy=false,Readonly=TruE)
tag_IDs = fIElds.Many2many('crm.tag','SALEoverrIDe_tag_rel','tag_ID',String='Tags')
@API.model
def action_confirm(self):
res = super(SALEOrder,self).action_confirm()
_logger.info("SALEoverrIDe_action_confirm")
_logger.info(self)
return res
我试图在日志文件中搜索消息,但找不到任何内容。有人可以帮我吗?
谢谢!
问题在于您没有扩展 SALE.order
模型,而是基于 SALEoverride.saleoverride
创建一个新模型 (SALE.order
)。
检查 odoo 文档:Inheritance and extension
from odoo import models,fields,api
import logging
_logger = logging.getLogger(__name__)
class SALEoverride(models.Model):
_description = 'SALEoverride'
_inherit = 'SALE.order'
name = fields.Char()
# value = fields.Integer()
# value2 = fields.Float(compute="_value_pc",store=TruE)
description = fields.Text()
transaction_ids = fields.Many2many('payment.transaction','SALEoverride_transaction_rel','SALEoverride_id','transaction_id',String='transactions',copy=false,readonly=TruE)
tag_ids = fields.Many2many('crm.tag','SALEoverride_tag_rel','tag_id',String='Tags')
def action_confirm(self):
res = super(SALEOrder,self).action_confirm()
_logger.info("SALEoverride_action_confirm")
_logger.info(self)
return res
从您的类中删除 _name = 'SALEoverride.saleoverride'
会为 SALE.order
添加新功能。
还要删除装饰器,因为原始函数没有装饰器。
,当你想覆盖插件中的代码时,你所能做的就是继承它。因此,您无法在覆盖现有代码时定义名称。 消除: _name ='SALEoverride.saleoverride'
以上是大佬教程为你收集整理的Odoo 14 覆盖方法全部内容,希望文章能够帮你解决Odoo 14 覆盖方法所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。