通过扩展 odoo/addons/base/ir 中的ir.qweb类,来扩展实现自定义功能,复制类结构如下:
# -*- coding: utf-8 -*- import ast from urlparse import urlparse from lxml import html from .qweb import QWeb, Contextifier from .assetsbundle import AssetsBundle from lxml import etree from collections import OrderedDict from odoo import api, models, tools from odoo.tools.safe_eval import assert_valid_codeobj, _BUILTINS, _SAFE_OPCODES from odoo.http import request from odoo.modules.module import get_resource_path import json from time import time import logging _logger = logging.getLogger(__name__) class IrQWebCF(models.AbstractModel, QWeb): ''' 继承ir.qweb类,实现自定义属性的渲染输出 ''' _name = 'ir.qweb' _inherit = 'ir.qweb' def _get_field(self, record, field_name, expression, tagName, field_options, options, values): field = record._fields[field_name] field_options['tagName'] = tagName field_options['expression'] = expression field_options['type'] = field_options.get('widget', field.type) inherit_branding = options.get('inherit_branding', options.get('inherit_branding_auto') and record.check_access_rights('write', False)) field_options['inherit_branding'] = inherit_branding translate = options.get('edit_translations') and options.get('translatable') and field.translate field_options['translate'] = translate # field converter model = 'ir.qweb.field.' + field_options['type'] converter = self.env[model] if model in self.env else self.env['ir.qweb.field'] # get content content = converter.record_to_html(record, field_name, field_options) attributes = converter.attributes(record, field_name, field_options, values) return (attributes, content, inherit_branding or translate)
运行时会报QWeb、Contextifier、AssetsBundle无法import,只要改成下面这样就可以了
# -*- coding: utf-8 -*- import ast from urlparse import urlparse from lxml import html #### 下面两行 #from .qweb import QWeb, Contextifier #from .assetsbundle import AssetsBundle ### 改成 from odoo.addons.base.ir.ir_qweb.qweb import QWeb, Contextifier from odoo.addons.base.ir.ir_qweb.assetsbundle import AssetsBundle
相关推荐
9. **模块开发(Module Development)**:每个Odoo功能通常封装在一个独立的模块中。开发者需要遵循一定的模块结构和命名规范,以便Odoo能正确识别和加载。 10. **集成与API(Integration and API)**:Odoo提供...
**Odoo大V社**是一个由一群热衷于开源技术的开发者组成的团体,成员遍布全国各地,他们无私地贡献自己的业余时间为Odoo中文资料的整理与推广做出努力。该组织的目标在于打破Odoo在中国地区的语言障碍,让更多人能够...
企业快速开发平台 ODOO 开发手册 模型 视图 字段 透视表 代码语法 。 。。。。
Odoo是一个开源的商业应用平台,提供了一系列紧密集成的应用,覆盖了从客户关系管理(CRM)到销售、库存到会计的多种业务场景。这本书由开源智造咨询有限公司(OSCG)编写,其目标是提升开发者在Odoo平台上的技能,...
4.4 导入一个翻译 20 4.5 新的 Demo 用户 20 4.6 模块管理 21 4.7 修改公司信息 21 4.8 打开技术特性支持之后 22 4.9 进销存和财务系统的抽象讨论 22 4.9.1 以采购部门为例 23 4.10 安装和配置模块 24 5 创建自己的...
第二章“ODOO 12开发之开发环境准备”详细阐述了如何搭建一个适合开发的Ubuntu环境。这包括安装必要的软件和服务,如OpenSSH用于远程访问,PostgreSQL作为数据库管理系统,以及Python3.6、Git等开发工具。在Ubuntu上...
《Odoo原版开发手册(英文)》是一个包含详尽信息的压缩文件,专为Odoo 12.0的开发者设计。这个手册是PDF格式,可以使用WPS等常见软件打开并编辑其内容,方便学习和参考。下面将对其中涉及的关键知识点进行详细解析...
自定义模块的开发是Odoo教程中的一个重要组成部分,它教开发者如何从头开始构建模块,包括模型、视图、控制器和JavaScript代码等。在模型、记录集和公用操作方面,教程涵盖了Odoo模型层的创建和管理,记录集的查询和...
Odoo是一个开源的商业应用套装,可用于管理企业内部的众多方面,例如销售、采购、库存、会计、人力资源、项目管理等。由于其灵活性和高度的可定制性,Odoo已成为众多企业选择的ERP(企业资源规划)解决方案之一。...
这个是odoo12的程序员开发手册,在这里我们将会了解到 Odoo 从环境搭建到开发模块到上线发布一系列的流程,如果有什么资料需要可以留言,我有的一定会分享给大家,我自己也会不断地一些新的资料,让odoo开发更容易...
2. 构建第一个应用程序:主要讲解Odoo的基本概念,如应用程序与模块的理解、模块的修改与扩展、创建模块的基本框架、模块的许可证、如何添加addons路径以及安装和升级新模块。此外,还涉及到模型层的创建、视图层的...
现在实施和定制 Odoo 的组织越来越多, Odoo 的开创了高质量 ERP 的开源风潮,学习Odoo及Odoo定制开发技术正是时候
**Odoo 11.0** 版本是Odoo的一个重要迭代,它在功能、性能和用户体验上都有显著提升。这个版本引入了新的特性,如改进的用户界面、增强的数据处理能力和更丰富的模块库。 **Odoo中文开发手册** 是针对开发者的一份...
Odoo是一个功能强大的开源商业应用平台,它提供了一个全面的生态系统,从客户关系管理(CRM)到销售、库存管理、会计等企业级应用。Odoo由多个模块组成,每个模块都旨在执行特定的业务功能,这使得它具有高度的可定制...
为了方便开发者进行二次开发或定制,搭建一个本地的Odoo开发环境至关重要。本文档将详细介绍如何在Windows环境下搭建Odoo开发环境,涵盖从安装虚拟化工具到配置开发工具的整个过程。 #### 二、准备工作 1. **安装...
从给定的文件信息中,我们可以提炼出以下关于Odoo 8.0开发的知识点: 1. Odoo开发文档概述: - Odoo 8.0开发文档是官方网站整合的PDF文件。 - 该文档是为有一定Python基础知识和Odoo安装经验的开发者准备的。 - ...
odoo开发 Odoo开发入门首选【在线开发】及【代码生成器】 odoo快速入门方法论的基础 Python 是慢,但我无所谓
odoo插件,实现导入数据的功能, 网上的插件已被修改, 这是未被修改版的.