`

odoo开发中,如何从一个module导入另一个module的类

 
阅读更多

通过扩展 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

 

分享到:
评论

相关推荐

    Odoo开发手册第五版,odoo14开发手册,Python

    9. **模块开发(Module Development)**:每个Odoo功能通常封装在一个独立的模块中。开发者需要遵循一定的模块结构和命名规范,以便Odoo能正确识别和加载。 10. **集成与API(Integration and API)**:Odoo提供...

    Odoo10.0中文开发手册(2017)

    **Odoo大V社**是一个由一群热衷于开源技术的开发者组成的团体,成员遍布全国各地,他们无私地贡献自己的业余时间为Odoo中文资料的整理与推广做出努力。该组织的目标在于打破Odoo在中国地区的语言障碍,让更多人能够...

    Odoo中文开发文档 /ODOO中文开发手册(共275页 13章)

    Odoo是一个开源的商业应用平台,提供了一系列紧密集成的应用,覆盖了从客户关系管理(CRM)到销售、库存到会计的多种业务场景。这本书由开源智造咨询有限公司(OSCG)编写,其目标是提升开发者在Odoo平台上的技能,...

    精通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开发手册_VLZH-20190123.doc

    第二章“ODOO 12开发之开发环境准备”详细阐述了如何搭建一个适合开发的Ubuntu环境。这包括安装必要的软件和服务,如OpenSSH用于远程访问,PostgreSQL作为数据库管理系统,以及Python3.6、Git等开发工具。在Ubuntu上...

    Odoo开发手册.pdf

    企业快速开发平台 ODOO 开发手册 模型 视图 字段 透视表 代码语法 。 。。。。

    odoo原版开发手册(英文).zip

    《Odoo原版开发手册(英文)》是一个包含详尽信息的压缩文件,专为Odoo 12.0的开发者设计。这个手册是PDF格式,可以使用WPS等常见软件打开并编辑其内容,方便学习和参考。下面将对其中涉及的关键知识点进行详细解析...

    odoo8中文教程

    自定义模块的开发是Odoo教程中的一个重要组成部分,它教开发者如何从头开始构建模块,包括模型、视图、控制器和JavaScript代码等。在模型、记录集和公用操作方面,教程涵盖了Odoo模型层的创建和管理,记录集的查询和...

    Odoo8开发教程

    Odoo是一个开源的商业应用套装,可用于管理企业内部的众多方面,例如销售、采购、库存、会计、人力资源、项目管理等。由于其灵活性和高度的可定制性,Odoo已成为众多企业选择的ERP(企业资源规划)解决方案之一。...

    odoo12开发手册

    这个是odoo12的程序员开发手册,在这里我们将会了解到 Odoo 从环境搭建到开发模块到上线发布一系列的流程,如果有什么资料需要可以留言,我有的一定会分享给大家,我自己也会不断地一些新的资料,让odoo开发更容易...

    Odoo10.0 中文开发手册_2017PDF版

    2. 构建第一个应用程序:主要讲解Odoo的基本概念,如应用程序与模块的理解、模块的修改与扩展、创建模块的基本框架、模块的许可证、如何添加addons路径以及安装和升级新模块。此外,还涉及到模型层的创建、视图层的...

    Odoo的相关中文开发手册

    **Odoo 11.0** 版本是Odoo的一个重要迭代,它在功能、性能和用户体验上都有显著提升。这个版本引入了新的特性,如改进的用户界面、增强的数据处理能力和更丰富的模块库。 **Odoo中文开发手册** 是针对开发者的一份...

    odoo开发指南

    Odoo是一个功能强大的开源商业应用平台,它提供了一个全面的生态系统,从客户关系管理(CRM)到销售、库存管理、会计等企业级应用。Odoo由多个模块组成,每个模块都旨在执行特定的业务功能,这使得它具有高度的可定制...

    Odoo开发环境安装说明

    为了方便开发者进行二次开发或定制,搭建一个本地的Odoo开发环境至关重要。本文档将详细介绍如何在Windows环境下搭建Odoo开发环境,涵盖从安装虚拟化工具到配置开发工具的整个过程。 #### 二、准备工作 1. **安装...

    odoo8.0 开发文档(英文)

    从给定的文件信息中,我们可以提炼出以下关于Odoo 8.0开发的知识点: 1. Odoo开发文档概述: - Odoo 8.0开发文档是官方网站整合的PDF文件。 - 该文档是为有一定Python基础知识和Odoo安装经验的开发者准备的。 - ...

    odoo开发资料_odoo开发_odoo_python_

    odoo开发 Odoo开发入门首选【在线开发】及【代码生成器】 odoo快速入门方法论的基础 Python 是慢,但我无所谓

    odoo导入数据插件

    odoo插件,实现导入数据的功能, 网上的插件已被修改, 这是未被修改版的.

    odoo-module-migrator:Python库可将odoo基本代码从一个版本迁移到另一个版本

    odoo-module-migrator是一个python3库,当您将Odoo模块从一个版本迁移到另一个版本时,该库可让您实现自动重复发生的更改。 举个例子: 将__openerp__.py文件重命名为__manifest__.py 从V11.0开始,删除# -*- ...

Global site tag (gtag.js) - Google Analytics