首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何仅在此模块中使用继承控制器Odoo 12中的函数

在Odoo 12中,可以通过继承控制器来使用函数。继承控制器是一种扩展现有控制器的方法,可以在不修改原始控制器代码的情况下添加新的功能。

要在Odoo 12中使用继承控制器的函数,可以按照以下步骤进行操作:

  1. 创建一个新的Python文件,用于定义继承控制器。可以使用Odoo的模块开发框架来创建一个新的模块,或者直接在现有模块中创建一个新的Python文件。
  2. 在新的Python文件中,导入需要继承的控制器类。例如,如果要继承的控制器是website.controllers.main.Website,则可以使用以下代码导入它:
代码语言:txt
复制
from odoo import http
from odoo.addons.website.controllers.main import Website
  1. 创建一个新的控制器类,并继承原始控制器类。例如,可以创建一个名为CustomWebsite的新控制器类,并继承Website类:
代码语言:txt
复制
class CustomWebsite(Website):
    pass
  1. 在新的控制器类中,定义需要添加的函数。可以根据需求添加任意数量的函数。例如,可以添加一个名为custom_function的函数:
代码语言:txt
复制
class CustomWebsite(Website):
    @http.route('/custom/route', type='http', auth='public', website=True)
    def custom_function(self, **kwargs):
        # 函数逻辑
        return "Hello, World!"
  1. 在新的控制器类中,使用@http.route装饰器来定义函数的路由。可以指定函数的URL路径、请求类型、权限等参数。在上面的示例中,函数的URL路径是/custom/route,请求类型是http,权限是public,并且该函数可以在网站上访问。
  2. 保存并安装/更新模块,以使新的控制器生效。

通过以上步骤,就可以在Odoo 12中使用继承控制器的函数了。在网站上访问定义的URL路径,就可以调用相应的函数并获取返回结果。

需要注意的是,以上步骤仅适用于Odoo 12版本,其他版本的Odoo可能有不同的实现方式。此外,还可以根据具体需求在继承控制器中添加其他功能,如模板渲染、数据库操作等。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云官网:https://cloud.tencent.com/
  • 云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql
  • 人工智能平台(AI Lab):https://cloud.tencent.com/product/ailab
  • 云存储(COS):https://cloud.tencent.com/product/cos
  • 区块链服务(Tencent Blockchain):https://cloud.tencent.com/product/tencentblockchain
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

odoo Web Controllers 学习总结

环境 odoo-14.0.post20221212.tar Web Controllers Controllers 控制器需要提供可扩展性,就像Model,但不能使用相同机制,因为先决条件(已加载模块数据库...因此,控制器提供了自己与模型扩展机制: 通过继承Controller创建控制器。...def handler(self): return stuff() 要重写控制器继承其类并重写相关方法,必要的话,重新暴露它们。...: 500, 'msg': '%s' % e}, ensure_ascii=False) 注意:不能直接返回json字典,bool值等,会提示不可返回不可调用对象,但是可直接返回字符串,或者返回字符串函数...如果没经过身份验证,使用共享公共用户(Public user)执行当前请求。 none: 即使没有数据库,该方法也始终处于活动状态。主要由框架和认证模块使用

1.3K20

odoo 给列表视图添加按钮实现数据文件导入

实践环境 Odoo 14.0-20221212 (Community Edition) 代码实现 模块文件组织结构 说明:为了更好表达本文主题,一些和主题无关文件、代码已略去 odoo14\custom...attachments: file_name_suffix = attachment.name.split('.')[-1] # 针对文本文件,暂时不实现数据存储,演示如何处理文本文件..._rpc函数model参数值("estate.customer"),method参数值("create_customer_from_attachment"),必要的话,修改then函数实现。...\service_mixins.js),用于查找当前action管理器并执行action -- do_action函数第一个参数,格式如下: { 'type': 'ir.actions.act_window...,上下文节点命名属性将被设置为属性元素值(如果已经存在则替换,如果不存在则添加) 注意:参考官方文档,t-extend这种继承方式为旧继承方式,已废弃,笔者实践了最新继承方式,如下 <?

3.5K30
  • odoo ORM API学习总结兼orm学习教程

    用于多继承模块共享抽象父类,不会在数据库创建模型表 系统为每个数据库自动实例化每个模型一次。...这些实例表示每个数据库上可用模型,取决于该数据库上安装模块。每个实例实际类都是从创建和继承相应模型Python类构建。...通过继承此类来创建Odoo模型: class user(Model): ... 系统将为安装了该类模块每个数据库实例化一次类 _auto= True 是否应该创建数据库表。...and extension) Odoo提供三种不同机制,以模块化方式扩展模型: 从现有模型创建新模型,向副本添加新信息,但保留原始模块 扩展其他模块定义模型,替换以前版本 将模型一些字段委派给它包含记录...env['extension.0'].func({}) 返回: test b 注意: 如果同时继承抽象模块和非抽象模块,并把_name配置为非抽象模块,抽象模块字段也会添加到非抽象模块对应表 委托(

    13.4K10

    在Ubuntu 16.04上安装Odoo 10

    部署后,Odoo允许管理员安装任何模块组合,并根据业务需求配置/定制它,范围从小型商店到企业级公司。 本教程介绍了如何使用Git源代码在一小时内安装和配置Odoo,以便于升级,维护和自定义。...在此示例,我们将使用Odoo默认端口8069,但这可能是您稍后在配置文件中指定任何端口。如果您计划运行任何其他服务,也可以在此处添加其端口。...您选择选项取决于您特定需求: 要同时使用日志和单独Odoo日志文件,请创建相应目录: sudo mkdir /var/log/odoo使用journald用于日志记录,您不需要创建任何目录...sudo chown -R odoo: /opt/odoo/ 如果您选择使用自定义日志,请将odoo用户也设置为日志目录所有者(当您决定使用单独日志文件时才适用): sudo chown odoo...> 在此阶段,您可能会遇到模块不兼容更改所产生错误。

    3.3K42

    odoo 开发入门教程系列-继承(Inheritance)

    继承(Inheritance) Odoo一个强大方面是它模块化。模块专用于业务需求,但模块也可以相互交互。这对于扩展现有模块功能非常有用。...在介绍特定Odoo模块继承之前,让我们看看如何更改标准CRUD(创建、检索,更新或删除)方法行为 Python继承(Python Inheritance) 目标: 不能删除状态不为New、Canceled...Odoo提供了两种继承机制来以模块方式扩展现有模型。...第一继承机制允许模块通过以下方式修改在另一个模块定义模型行为: 向模型添加字段 覆盖模型字段定义 给模型添加约束 给模型添加方法 重写模型现有方法 第二种继承机制...odoo,第一种机制最常用。在我们例子,我们希望向现有模型添加一个字段,这意味着我们将使用第一种机制。

    2.2K20

    odoo 开发入门教程系列-模块交互

    模块交互 在上一章,我们使用继承来修改模块行为。在我们房地产场景,我们希望更进一步,能够为客户生成发票。...Odoo提供了一个开发票模块,因此直接从我们房地产模块创建发票是很简单,也就是说,一旦某个房产设置为“已售出”,就会在Invoicing应用程序创建发票 一个具体示例: 记账凭证(Account...为此,我们需要在estate_account模块为创建一个模型,继承estate.property模型。...不幸是,没有一种简单方法可以知道如何Odoo创建任何给定对象。大多数时候,有必要查看其模型,以找到所需字段并提供适当值。 学习一个好方法是看看其他模块如何完成你想做事情。...One2many和Many2many使用通用ORM方法描述特殊“commands”。这种格式是一个按顺序执行三元组列表,其中每个三元组都是要对结果集执行命令。

    1.7K10

    odoo 权限管理学习总结

    res_partner表,那么在odoo如何区分用户类型以及如何做权限控制呢?...用户组和用户组关系:用户组可以被用户组继承(伪继承),当继承某个用户组时,本组用户也会自动加入继承用户组。...(2, ID, values) 使用values字典值更新id值=ID现有记录 (2, ID) 删除id=ID这条记录(调用unlink方法,删除数据及整个主从数据链接关系) (3, ID) 删除主从数据链接关系但是不删除这个记录...,即指定哪个组拥有如下访问权限,如果指定组不是在当前模块定义组,需要指定模块名称,形如module_name.groupName。...domain是一个可以使用以下变量python表达式: time Python time 模块 user 以单例记录集(singleton recordset)表示的当前用户

    10.1K20

    Odoo开发指北 01 初识Odoo

    继承开发 Odoo提供了大量现成模块给我们使用,但是某些情况下,我们需要制定符合自己需求功能模块Odoo开发一条黄金准则是——不要修改现有的模块,以免改动后代码与原有模块产生混淆。...因此,odoo提供了继承机制,我们可以选择一个基础模块,然后继承它,在它基础上进行修改、扩展,生成自己模块。...然后使用自己模块:把自己模块路径设置到odoo,重启odoo让其搜索到自定义模块,即可通过odoo进行安装。...类,定义出模型类会自动与Odoo提供ORM接口匹配,也就是说这些模型类会自动存入sql。...security:对模块访问权限控制,在ir.model.access.csv文件定义。还可以新建一个record_rule.xml,在其中进行更细化权限控制。

    2.4K30

    ODOO配置文件etcodoo.conf配置详解

    1.Dbfilter配置 Odoo是一个多租户系统:一个Odoo系统可以运行并服务于多个数据库实例。它也是高度可定制,定制(从加载模块开始)取决于“当前数据库”。 ...这是--db filter目的之一:它指定如何根据所请求主机名(域)选择数据库。该值是一个正则表达式,可能包括动态注入主机名(%h)或访问系统所通过第一个子域(%d)。 ...下面例子以显示名称以“mycompany”开头数据库 [options]   dbfilter = ^mycompany.*$   显示与www之后第一个子域匹配数据库:例如,如果传入请求被发送到...**基本参数 Odoo通过端口5432通过UNIX套接字连接到本地postgres。...这样做时,您需要将更多http头转发给Odoo,并在Odoo配置激活代理模式,让Odoo读取这些头。

    7.1K31

    odoo wizard界面显示带复选框列表及勾选数据获取

    (为了让大家看得更清楚,保留关键文件) odoo14 ├─custom │ ├─estate │ │ │ __init__.py │ │ │ __manifest__...向导只是一个继承TransientModel而非model模型。...,供web端使用,用于区分不同页面操作数据,'estate.property.offer_3'为供web端使用记录ID,'data'键值代表记录数据,其id键值代表记录在数据库主键id,context...> 说明: saveSelectionsToSessionStorage 为"true"则表示点击复选框时,将当前选取记录存到浏览器sessionStorage,可选 odoo14\custom\estate...odoo14\custom\estate\static\src\js\list_renderer.js 注意:之所以将uuid函数定义在list_renderer.js,是为了避免因为js顺序加载问题

    5.3K60

    如何在Ubuntu 18.04上部署Odoo 11

    pip是一个用于安装和管理Python包工具,我们将使用它来安装所有必需Python模块,并将其安装到: pip3 install virtualenv 为我们Odoo 11安装运行创建一个新虚拟环境...激活环境: source odoo11-venv/bin/activate】 并安装所有必需Python模块: pip3 install -r odoo11/requirements.txt 如果在安装过程遇到任何编译错误...安装完成后,请停用环境并使用以下命令切换回sudo用户: deactivate exit 如果您计划安装自定义模块,最好将这些模块安装在单独目录。.../odoo/odoo11-custom-addons 如果您使用自定义模块,请不要忘记将my_admin_passwd更改为更安全内容并调整addons_path。...多处理模式适用于Windows系统上可用基于Unix系统 工作人员数量是根据系统CPU核心数量和可用RAM内存来计算

    1.9K20

    ​在tinycolinux上编译odoo8

    这迎合了采用统一存储后端设计,可以使得odoodocument模块使用分块filestor文件系统,见《发布mongopress,基于统一分布式数据库和文件系统mongodb》同类文章。...最后,odoo采用python,要谈到语言优异对比足于掀起大论战了,我不重复那些聚焦语言内部如何pythonic老话题,只讲几条外部特征: 1,C系和原生程序,是基本所有现实可见系统实现基石,但...database (SQL_ASCII) 在lnpp安装精简odoo,python模块和配置uswgi和nginx参数 ----- 我们先安装odoo再来处理python,这样运行它时可以逐个通过pip...安装缺少python模块,将odoo8释放到/usr/local/nginx/html,精简/usr/local/nginx/html/odoo/addons安装所有模块保留以下: account...,但上面我们倾向于不使用uwsgi+ini文件方式) 可以看到上面总有静态配置东西,要么地址要么模块名要么类名,而lnmpphp-cgi后面的参数是不与任何静态地址挂钩,它就是一个全局服务器将语言服务转化成

    1.4K40

    如何在 Ububtu 18.04 上安装 Odoo 13

    在这个指南中,我们将会在 Ubuntu 18.04 上一个 Python 虚拟环境安装和部署 Odoo 13.我们将会从它们 Github 软件源中下载 Odoo,并且使用 Nginx 作为反向代理服务器...想要安装 PostgreSQL运行下面的命令: sudo apt install postgresql 一旦安装完成,创建一个 PostgreSQL,使用和之前创建系统用户一样名字,在我们例子odoo13...mkdir /opt/odoo13/odoo-custom-addons 稍后,我们将会将该目录添加到addons_path参数。这个参数定义了 Odoo 用来搜索模块一个列表。...十一、总结 这篇指南带你浏览了如何在 Ubuntu 18.04 上 Python 虚拟环境 安装 Odoo 13,并使用 Nginx 作为反向代理服务器。...我们展示了如何在生产环境如何启用多进程以及优化 Odoo

    8.7K41

    轻松部署Odoo软件

    Odoo有强大而灵活系统架构,可在不修改核心代码情况下修改功能、升级模块、新增模块Odoo活跃社区在不断修正各类错误,贡献各种用途模块,产品迭代速度非常快。...用户可以直接从模块库中选择安装适用模块,或进行模块卸载,升级管理操作。 [yppp9esz89.png] 改进 本文档会持续改进,广泛吸收用户需求。...准备 在云控制台获取您 服务器公网IP地址 在云控制台安全组,检查 Inbound(入)规则 下 TCP:80 端口是否开启 若想用域名访问 Odoo,请先到 域名控制台 完成一个域名解析 Odoo...此功能只能在开发者模式下使用,请确保你 Odoo 控制台是否已经切换成开发者管理模式 如何删除 Odoo 演示数据?...请直接通过 Odoo 自带数据库管理工具操作 是否可以修改Odoo源码路径? 不可以 如何修改上传文件权限?

    4.9K00

    odoo 开发入门教程系列-计算字段和变更(Computed Fields And Onchanges)

    计算字段和变更(Computed Fields And Onchanges) 模型之间关系是任何Odoo模块关键组成部分。它们对于任何业务案例建模都是必要。...本章目标 在房地产模型,自动计算总面积和最佳报价 预期效果: 在地产报价模型,自动计算合法日期且可被更新 在我们房地产模块,我们定义了生活区和花园区。...自然地我们将总面积定义这两者总和,我们将为此使用计算字段概念,即给定字段值将从其他字段值中计算出来。 到目前为止,字段已直接存储在数据库并直接从数据库检索。字段也可以被计算。...为了支持这个需求,odoo提供了使用inverse函数能力: from odoo import api, fields, models class TestComputed(models.Model...大多数时候,只有当您代码到达生产服务器时,你才意识到它会减慢整个过程。 Onchanges 参考: 主题关联文档可查看onchange(): 在我们房地产模块,我们还想帮助用户输入数据。

    3.1K30

    在云端快速构建一个 ODOO 站点

    作者介绍:胡彬 腾讯云高级工程师 ODOO 前身是 OpenERP ,是一款开源 ERP 系统,使用 Python 开发,数据库采用 PostgreSQL ,系统以 LGPLv 3协议发布。...ODOO 作为一款开源软件,功能却非常完善,涵盖了账户、CRM、销售、支付、仓储、项目管理、网站建设等等模块,并且还支持开发自定义模块。...本文主要介绍如何在腾讯云环境下,通过简单步骤,快速搭建一个 ODOO 站点。...购买并创建云主机 登录云主机 1、下载并安装客户端软件 从本地linux机器登录到linux云服务器时,需要使用客户端软件建立连接。 建议使用OpenSSH发布ssh工具进行登录。...在pssword后输入密码,密码为管理员账号密码,回车后即完成登录。 注:管理员账号初始密码在上面购买过程设置过,用户也可以重置密码,详见管理员账号密码重置。

    9.8K30

    如何使用 psql 列出 PostgreSQL 数据库和表

    本教程解释如何使用psql在PostgreSQL服务器显示数据库和表。 列出数据库 您可以使用该 psql 命令以任何系统用户身份连接到 PostgreSQL 服务器。...前两个是创建新数据库时使用模板。 如果要获取有关数据库大小,默认表空间和描述信息,请使用 \l+ 或 \list+ 。当当前用户可以连接到数据库时,才会显示数据库大小。...: SELECT datname FROM pg_database; 与\l元命令不同,上面的查询将显示数据库名称: datname ----------- postgres odoo...例如,要连接到名为 “odoo数据库,您应键入: \c odoo 切换数据库后,使用 \dt 列出所有数据库表: 输出将包括表数量,每个表名称及其架构,类型和所有者:...要获取有关表大小信息,请使用说明 \dt+。 结论 您已经学习了如何使用该 psql 命令列出 PostgreSQL 数据库和表。

    4.2K10
    领券