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

如何在视图Qweb中对字段求和?Odoo 14

在Odoo 14中,可以使用Qweb视图语言对字段进行求和操作。Qweb是Odoo框架中用于模板渲染的一种技术。

要在Qweb视图中对字段求和,可以按照以下步骤操作:

  1. 在需要进行求和操作的地方,添加一个求和字段的占位符,例如:
代码语言:txt
复制
<span t-field="sum_field" t-esc="sum_field"/>
  1. 在视图的Javascript部分,定义一个求和函数,用于计算字段的总和。例如:
代码语言:txt
复制
odoo.define('your_module_name.sum_field', function (require) {
    'use strict';

    var core = require('web.core');
    var qweb = core.qweb;
    var _t = core._t;

    // 定义求和函数
    function computeSum() {
        var sum = 0;
        $(".sum_field_class").each(function() {
            sum += parseFloat($(this).text());
        });
        return sum;
    }

    // 注册求和函数
    qweb.add_template("/your_module_name/static/src/xml/sum_field.xml", function () {
        var sum = computeSum();
        return '<span>' + sum + '</span>';
    });

});
  1. 创建一个模板文件(例如sum_field.xml),定义求和模板的XML代码,例如:
代码语言:txt
复制
<templates>
    <t t-name="SumField">
        <span t-field="sum_field" t-esc="sum_field"/>
    </t>
</templates>
  1. 将求和模板引入到视图中,例如:
代码语言:txt
复制
<field name="your_field" widget="float" sum="your_module_name.sum_field"/>

这样,视图中的字段会被渲染为可以求和的形式,并且会实时计算字段的总和。

对于上述步骤中的your_module_name,请根据您的实际模块名称进行替换。

请注意,以上步骤仅为一个示例,并可能需要根据实际情况进行调整。更多关于Qweb的详细信息和使用方法,请参考Odoo的官方文档:Odoo官方文档-Qweb。同时,如果您需要了解腾讯云相关产品和产品介绍,可以访问腾讯云官方网站:腾讯云

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

odoo 开发入门教程系列-QWeb简史

QWeb简史 到目前为止,我们的房地产模块的界面设计相当有限。构建列表视图很简单,因为只需要字段列表。...您可能已经熟悉现有的引擎,如Jinja(Python)、ERB(Ruby) 或Twig(PHP)。Odoo自带内置引擎:QWeb模板。QWeb是Odoo使用的主要模板引擎。...目标: 本节结束时创建一个房产的看板视图 在我们的地产应用程序中,我们希望添加一个看板视图来显示我们的房产。看板视图是标准的Odoo视图(如表单和列表视图),但其结构更灵活。...提示: 必须在ir.actions.act_window对应的view_mode中添加 kanban 修改odoo14\custom\estate\views\estate_property_views.xml...在上面的示例中,字段name被添加到元素中,但state在它之外。当我们需要字段的值但不想在视图中显示它时,可以将其添加到元素之外。

2.2K20
  • Odoo开发指北 01 初识Odoo

    然后使用自己的模块:把自己的模块路径设置到odoo中,重启odoo让其搜索到自定义模块,即可通过odoo进行安装。...security:对模块的访问权限控制,在ir.model.access.csv文件中定义。还可以新建一个record_rule.xml,在其中进行更细化的权限控制。...static:静态资源文件,如css、js等 views:网页视图文件与模版文件(xml文件,使用QWEB语言进行描述) init.py manifest.py:描述文件 脚手架命令   使用...Odoo 脚手架 odoo-bin scaffold 命令新建了我们的 aaa 应用 …/odoo-bin scaffold aaa 模块开发流程 分析模块模型,得出模型所需的字段有哪些,然后定义模型类...构建视图对象:主要是list、tree、form、search视图。

    2.4K30

    odoo 开发入门教程系列-安全-简介

    安全-简介 前一章中我们已经创建了第一个打算用于存储业务数据的表。在odoo这样的一个商业应用中,第一个考虑的问题就是谁(Odoo 用户(或者组用户))可以访问数据。...country_id:id 通过使用外部标识指向国家. name 州的名称 code 州的代码 在 res.country.state model中定义了这三个字段 按约定,导入数据的文件存放在模块的...当数据和安全相关时,存放在 security 目录中,当数据和视图和action相关时,存放在 views 目录中....当模型中没有定义任何访问权限时,odoo会认为没有任何用户可以访问数据,并在日志中打印: 2022-12-14 09:01:38,994 32508 WARNING odoo odoo.modules.loading...ir.model.access.csv 文件(本例为 odoo14/custom/estate/security/ir.model.access.csv ),并在 __manifest__.py 文件中进行定义

    95520

    odoo 开发入门教程系列-基本视图

    在上一章中已经看到,odoo能够为给定模型生成默认视图。实际上,默认视图对于业务应用程序来说是不可接受的。相反,我们至少应该以逻辑的方式组织各个字段。 视图是在带有操作和菜单的XML文件中定义的。...在我们的estate模块中,我们需要以逻辑方式组织字段: 在列表(树)视图中,我们希望显示的不仅仅是名称。 在表单视图中,应该对字段进行分组。 在搜索视图中,我们必须能够搜索的不仅仅是名称。...修改odoo14/custom/estate/views/estate_property_views.xml <?...筛选器必须具有以下属性之一: domain:将给定domain添加到当前搜索 dontext:添加一些context到当前搜索,使用group_by按给定字段名称对结果分组。...在odoo中,domain对记录上的条件进行编码:domain是用于选择模型记录子集的条件列表。每个条件都是一个包含字段名、运算符和值的三元组。

    3.4K40

    odoo 开发入门教程系列-一些用户界面

    数据文件中的内容也是在模块安装或者更新时按序加载。因此,对CSV文件所做的所有说明对XML文件都适用。...这是因为,在odoo中加载CSV文件比加载XML文件更快。 odoo中,用户接口(action,菜单和视图)大部分是通过创建和组装XML文件中的记录来定义的。...view_mode 可获取的视图。本例中为列表(树)和表格视图。 odoo中到处都可以找到例子,但是这个 简单action的好例子。关注XML 数据文件结构,因为你在后续的练习中会用到。 如required=True,会影响数据库中的表模式。其他属性也将影响视图或提供默认值。 练习 -- 添加一些属性到字段。...必选字段,且不能被拷贝,默认值New 修改 odoo14\custom\estate\models\estate_property.py 中EstateProperty类,修改active字段,增加state

    3K30

    odoo 开发入门教程系列-模型之间的关系(Relations Between Models)

    模型之间的关系(Relations Between Models) 上一章介绍了为包含基本字段的模型创建自定义视图。然而,在任何真实的业务场景中,我们都需要不止一个模型。此外,模型之间的链接是必要的。...模型和表单,树,搜索视图 该练习是对前几章很好的扼要重述:你需要创建一个 model,设置 model,添加 动作和菜单,并且创建视图....,不必创建动作和菜单 添加offer_ids字段到estate.property 模型极其表单视图 这里有几件重要的事情需要注意。...其次,尽管property_id字段是必需的,但我们没有将其包含在视图中。odoo如何知道我们的报价与哪个房产相关?这就是使用odoo框架的一部分魔力:有时候事情是隐式定义的。...当我们通过one2many字段创建记录时,为了方便,会自动填充相应的many2one 添加odoo14\custom\estate\models\estate_property_offer.py #!

    4.5K40

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

    为此,我们需要向res.users模型添加一个字段,并调整其视图以显示它。 Odoo提供了两种继承机制来以模块化的方式扩展现有模型。...第一继承机制允许模块通过以下方式修改在另一个模块中定义的模型的行为: 向模型添加字段 覆盖模型中字段的定义 给模型添加约束 给模型添加方法 重写模型中的现有方法 第二种继承机制...(委托)允许将模型的每个记录链接到父模型的记录,并提供对该父记录的字段的透明访问。...odoo中,第一种机制最常用。在我们的例子中,我们希望向现有模型添加一个字段,这意味着我们将使用第一种机制。...这些扩展既可以添加内容,也可以从父视图中删除内容。 扩展视图使用inherit_id字段引用其父视图。

    2.3K20

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

    添加字段到表单视图,正如本章目标中展示的那样 对于关系型字段,可以使用通过字段的路径作为依赖项: description = fields.Char(compute="_compute_description...该字段被定义为最高报价 添加该字段到表单视图,正如本章目标中的第一个动画 提示:你可能会想用 mapped() 方法,查看示例 writeoff_amount = sum...提示: create_date 仅在记录创建时被填充,因此需要一个回退,防止创建时的奔溃 在表单和列表视图中添加字段,正如本章目标中显示的第二个动画中的一样。...> 重启服务,浏览器中验证(参考本章目标中的第二个动画视图) 其它信息 默认的,计算的字段不会存到数据库中,因此,不可能基于计算的字段进行搜索,除非定义一个search 方法。...你对self所做的任何更改都将反映在表单上: from odoo import api, fields, models class TestOnchange(models.Model): _name

    3.2K30

    odoo 权限管理学习总结

    -> Users & Companies -> Groups),并为用户分配不同的用户组,及设置相关权限(菜单权限,视图权限,访问权限,记录规则) 此外,为了更方便的管理用户组,odoo还支持对用户组...模型访问权限(Access Rights,表级别) 当模型中没有定义任何访问权限时,odoo会认为没有任何用户可以访问数据,并在日志中打印: 2022-12-14 09:01:38,994 32508...如果当前用户不在列出的组中,他将无权访问该字段: 将自动从请求的视图中删除受限制的字段 从fields_get()响应中删除受限制的字段 尝试(显式的)读取或写入受限字段会导致访问错误 修改estate..."/> 验证,发现界面上,未授权上述框选权限的用户已经看不到上述字段了 注意:通过为当前视图中目标字段添加groups属性实现的权限控制仅作用于当前视图,如果希望当前视图模型(Model)的所有视图中,...对该字段实现统一的权限控制话,需要在模型定义中,为目标字段添加groups属性,如下: selling_price = fields.Float('selling price', digits=(8,

    10.2K20

    odoo 为form表单视图添加chatter功能

    odoo14\custom\estate\models\estate_property.py 需要继承mail.thread模型,并为需要追踪的字段设置tracking属性,并设置属性值为真值 #!...\odoo\addons\mail\models\mail_thread.py,其字段命名均以message_开头 tracking 该属性为True或数字时,打开针对该属性所属字段的修改日志-...-当所属字段内容发生变化时,系统会将该字段变化前后的值写入日志中,这个数字的大小影响变更日志在日志中的排序。...__manifest__.py 配置 odoo14\custom\estate\__manifest__.py 需要配置mail模块依赖,因为mail.thread模型归属该模块 #!...\odoo\addons\mail\models\mail_activity.py,其字段命名均以activity_,对应的,模型定义中_inherit 属性也需要添加该模块,如下: _inherity

    79320

    odoo ORM API学习总结兼orm学习教程

    与parent_path 字段一起,设置记录树结构的索引存储,以便使用child_of和parent_of域运算符对当前模型的记录进行更快的分层查询 _date_name= 'date' 用于默认日历视图的字段..._fold_name= 'fold' 用于确定看板视图中折叠组的字段 AbstractModel odoo.models.AbstractModel[源代码] odoo.models.BaseModel...states (dict) –将state值映射到UI属性-值对列表的字典映射,简单说就是允许用户界面依据state字段的值来动态设置对应字段的UI属性,因此,它要求存在一个state字段并在视图中使用...在出现字段的表单视图中,当修改某个给定字段时,将调用该方法。在包含表单中存在的值的伪记录上调用该方法。该记录上的字段赋值将自动返回客户端。...如果未提供或者为[]则表示所有 Model.fields_view_get([view_id | view_type='form'])[源代码] 获取所请求视图的详细组成,如字段、模型、视图架构

    13.5K10

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

    选取ffers"按钮),弹出一个向导(wizard)界面,并将详情页中内联tree视图("Offers" Tab页)的列表记录展示到向导界面,且要支持复选框,用于选取目标记录,然执行目标操作。...以上参数同下文saveSelectionsToSessionStorage 参数可同时共存 如果需要将action绑定到指定模型指定视图的Action,可以在ir.actions.act_window定义中添加...> 说明: saveSelectionsToSessionStorage 为"true"则表示点击复选框时,将当前选取的记录存到浏览器sessionStorage中,可选 odoo14\custom\estate...odoo14\custom\estate\static\src\js\list_renderer.js 注意:之所以将uuid函数定义在list_renderer.js中,是为了避免因为js顺序加载问题...__DEBUG__['services']['web.ListRenderer'] = ListRenderer; //覆盖原有的ListRender服务 }); 实践过程中,有尝试过以下实现方案,视图通过指定相同服务

    5.3K60

    Odoo 基于Win10搭建基于Win10搭建odoo14开发环境搭建

    参考文档 "解决安装软件包提示Unable to find vcvarsall.bat的问题.md" 安装odoo依赖 解压下载后的odoo_14.0.latest.tar,并对解压结果目录中dist目录下的...odoo-14.0.post20221212.tar进行二次解压,得到odoo-14.0.post20221212目录文件,将其重命名odoo14,作为项目根目录 修改odoo14/requirements.txt...测试运行 启动 复制上述odoo14\setup\odoo文件为odoo-bin(本质为一个py文件),并移动到setup同级目录下,即例中的odoo14目录下 虚拟运行环境下,输入以下命令后回车,可以看到类似如下输出...(oodo14) D:\codePojects\odoo14>python odoo-bin -r myodoo -w test123 --addons-path=....-13 07:21:30,631 31332 INFO odoo odoo.modules.loading: loading base/views/ir_qweb_widget_templates.xml

    3.7K40

    odoo Actions学习总结

    环境 odoo-14.0.post20221212.tar Actions(动作) action定义系统响应用户操作的行为:登录、操作按钮、选择发票等… action可以存储在数据库中,也可以作为字典直接返回...所有Action都有两个强制属性: type 当前Action的类别,决定可以使用哪些字段以及如何解释action name action的名称,在客户端的界面中显示对action的简短用户可读描述...包含字段: res_model action触发的要显示的视图关联的模型 views (view_id,view_type)对的列表。...highlight=do_action#the-action-manager 在数据库window action中,操作有几个不同的字段,这些字段应被客户端忽略,主要用于组成view列表 view_mode...所有这些类型都必须在生成的views列表中(至少有一个False view_id) view_ids M2M(技术上不是M2M:添加了一个sequence字段,可以只由一个视图类型组成,没有视图id)

    2.7K30

    odoo 为可编辑列表视图字段搜索添加查询过滤条件

    实践环境 Odoo 14.0-20221212 (Community Edition) 需求描述 如下图,列表网仓记录详情页面(form视图),编辑内联视图中的货主记录,为货主和仓库字段搜索,添加过滤条件...--此处代码已省略--> odoo> 添加过滤条件代码实现 修改视图,给视图添加context odoo> 修改ResPartner,重写模型name_search(编辑货主字段,弹出下拉列表时,会请求该模型函数),search_read(编辑货主字段...,点击下拉列表时 搜索更多打开界面时,会请求该模型函数) 提示:分析OmsNetworkLine模型定义可知道,货主字段(partner_id)为多对一字段,关联ResPartner 模型 class...(warehouse_id)为多对多字段,关联stock.warehouse 模型 class StockWarehouse(models.Model): _inherit = 'stock.warehouse

    1.2K30

    「Odoo 基础教程系列」第三篇——从 Todo 应用开始(2)

    选择字段 在上一篇教程中,我们已经创建好了待办事项的模型,但是只是添加了「描述」和「已完成?」两个字段,这肯定是不能满足我们的需求的。...在上一篇教程中我们提到过,在对模型进行改动之后,需要对模块进行升级才能看到变更后的样子,除了从应用列表中找到模块进行升级外,我们还可以在命令行中给 Odoo 的启动命令加上参数 -u todo 指定升级...deadline 这个字段的值(我们需要用它的值和当前时间进行比较),如果一个计算字段会用到多个其他字段的值,这里就需要以逗号分隔,将用到的值的字段名依次传入装饰器中。...PS: 这里我们对 deadline 进行了判断,是因为如果没有设置截止时间,又或者是在新建代办事项时,这里的 deadline 会是一个布尔值,是不能和时间字符串进行比较的。...我们打开视图文件来加点东西上去: <!

    1.4K10
    领券