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

在odoo 12中将一个字段的数据显示到另一个字段中

在odoo 12中,可以通过计算字段(Computed Field)的方式将一个字段的数据显示到另一个字段中。计算字段是一种虚拟字段,它的值是通过计算其他字段的值得出的,而不是直接存储在数据库中。

要在odoo 12中实现这个功能,可以按照以下步骤进行操作:

  1. 在需要显示数据的目标字段所在的模型中,定义一个计算字段。计算字段的定义通常在模型的class中进行,可以使用@api.depends装饰器来指定计算字段依赖的字段。例如:
代码语言:txt
复制
from odoo import models, fields, api

class MyModel(models.Model):
    _name = 'my.model'

    source_field = fields.Char(string='Source Field')
    target_field = fields.Char(string='Target Field', compute='_compute_target_field')

    @api.depends('source_field')
    def _compute_target_field(self):
        for record in self:
            record.target_field = record.source_field

在上述示例中,source_field是源字段,target_field是目标字段,_compute_target_field是计算字段的计算方法。每当source_field的值发生变化时,_compute_target_field方法会被触发,将source_field的值赋给target_field

  1. 在视图中将目标字段添加到合适的位置。可以使用<field>标签将目标字段添加到视图中的合适位置。例如:
代码语言:txt
复制
<record id="my_model_form_view" model="ir.ui.view">
    <field name="name">my.model.form.view</field>
    <field name="model">my.model</field>
    <field name="arch" type="xml">
        <form>
            <sheet>
                <group>
                    <field name="source_field"/>
                    <field name="target_field"/>
                </group>
            </sheet>
        </form>
    </field>
</record>

在上述示例中,source_fieldtarget_field被添加到了同一个<group>标签中,可以根据实际需求进行调整。

  1. 更新模块并重新加载odoo。完成以上步骤后,可以通过在odoo中安装/更新模块,并重新加载odoo来使改动生效。

这样,当source_field的值发生变化时,target_field会自动更新为相同的值。注意,计算字段的值是实时计算的,不会存储在数据库中。

推荐的腾讯云相关产品:腾讯云服务器(CVM)和腾讯云数据库(TencentDB)。腾讯云服务器提供高性能、可扩展的云服务器实例,适用于各种应用场景。腾讯云数据库提供多种数据库引擎,包括关系型数据库和NoSQL数据库,可满足不同的数据存储需求。

腾讯云服务器产品介绍链接地址:https://cloud.tencent.com/product/cvm 腾讯云数据库产品介绍链接地址:https://cloud.tencent.com/product/cdb

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

相关·内容

odoo 开发入门教程系列-模型和基本字段

模型和基本字段 在上一章末尾,我们创建一个odoo模块。然而,此时它仍然是一个空壳,不允许我们存储任何数据。...我们房地产模块,我们希望将与房地产相关信息(名称(name)、描述(description)、价格(price)、居住面积(living area)…)存储在数据。...ORM 层是odoo一个关键组件。该层避免了手动写入大部分SQL并提供可扩展性和安全服务. 业务对象被定义为继承于 ModelPython类。可以通过定义设置属性来配置model。...最重要属性为 _name,该属性定义了modelodoo系统属性。...有些属性是所有字段都拥有的,最常见几个属性如下: string (str, default: 字段名称) UI上显示字段label (用户可见).

2.3K30

Thinkphp6学习(4)读取数据一个数据字段备注

Thinkphp6学习(4)读取数据一个数据字段备注 我Tp6手册没有学习读取数据一个数据所有字段备注信息,最后用原生SQL语句来完成吧,在此记录一下 一、方法一 原生执行语句是...: 1.Db::query($sql) 2.原生查询备注:show full columns from 数据表名 我数据表是t_student,所以用show full columns from...$sql ="show full columns from t_student"; comment= Db::query(sql); dump($comment); } 查询信息如下...; 下面要取出其中“Comment”为我所用 修改一下代码: 结果出来啦,这才是我要备注信息啦 二、方法二 知识点:查询某一个信息可以用如下方法(有两种) 方法二,测试如下 效果图

2.2K20

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

然而,我们可能需要给定模型字段之间链接。有时,一个字段值是根据其他字段值确定,有时我们希望帮助用户输入数据。...自然地我们将总面积定义这两者总和,我们将为此使用计算字段概念,即给定字段值将从其他字段值中计算出来。 到目前为止,字段已直接存储在数据并直接从数据检索。字段也可以被计算。...提示: create_date 仅在记录创建时被填充,因此需要一个回退,防止创建时奔溃 表单和列表视图中添加字段,正如本章目标显示第二个动画中一样。...> 重启服务,浏览器验证(参考本章目标第二个动画视图) 其它信息 默认,计算字段不会存到数据,因此,不可能基于计算字段进行搜索,除非定义一个search 方法。...大多数时候,只有当您代码到达生产服务器时,你才意识它会减慢整个过程。 Onchanges 参考: 主题关联文档可查看onchange(): 我们房地产模块,我们还想帮助用户输入数据

3.1K30

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

例如,我们房地产场景,我们希望常规用户视图中直接显示销售人员财产列表。...为此,我们需要向res.users模型添加一个字段,并调整其视图以显示它。 Odoo提供了两种继承机制来以模块化方式扩展现有模型。...第一继承机制允许模块通过以下方式修改在另一个模块定义模型行为: 向模型添加字段 覆盖模型字段定义 给模型添加约束 给模型添加方法 重写模型现有方法 第二种继承机制...odoo,第一种机制最常用。我们例子,我们希望向现有模型添加一个字段,这意味着我们将使用第一种机制。...添加一个domain字段,这样以便仅显示可获取房产。

2.2K20

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

class odoo.fields.Many2oneReference[源代码] 该字段值存储为数据一个整数。...设置store=True 将在数据存储计算及字段并启动开启字段搜索。 也可以通过设置search参数开启计算字段搜索。该参数值为一个返回搜索条件方法名称 。...字段依赖项包含 Many2many 或者 One2many 字段 related 可以用于引用另一个模型 One2many 或Many2many 字段,前提是通过当前模型一个Many2one关系来实现...当需要相关行为时,应在模型上定义它们: odoo.fields.name _rec_name默认值,用于需要代表性“命名”上下文中显示记录。...记录缓存和预取 Odoo为记录字段维护一个缓存,这样,不是每个字段访问都会发出数据库请求。

13.4K10

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

我们estate模块,我们需要有关房产以下信息: 购买房产客户 出售房产真实重述代理人 房产类型:房子、公寓、顶层公寓、城堡… 显示了该酒店特色一系列标签:舒适、翻新… 收到报价清单 Many2one...买家可以是任何个人,然而,销售人员必须是房产机构员工(即odoo用户)。 odoo,有两种我们经常引用两种模型: res.partner: 一个partner为一个物理实体或者法人实体。...然而,本例,我们希望显示给定地产报价列表,因此我们将使用one2many概念。 one2many是many2one反向实现。...例如,我们通过partner_id字段测试模型上定义了res.partner模型链接。...首先,我们不需要所有模型操作或菜单。某些模型只能通过另一个模型访问。我们练习中就是这样:报价总是通过房产获得。 其次,尽管property_id字段是必需,但我们没有将其包含在视图中。

4.4K40

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

此外,PDF报告或网站页面等其他功能需要另一个更灵活工具:模板引擎。 您可能已经熟悉现有的引擎,如Jinja(Python)、ERB(Ruby) 或Twig(PHP)。...Odoo自带内置引擎:QWeb模板。QWeb是Odoo使用主要模板引擎。它是一个XML模板引擎,主要用于生成HTML片段和页面。 你可能已经Odoo见过 看板,其中记录以卡片状结构显示。...目标: 本节结束时创建一个房产看板视图 我们地产应用程序,我们希望添加一个看板视图来显示我们房产。看板视图是标准Odoo视图(如表单和列表视图),但其结构更灵活。...练习--制作一个最小看版视图 根据上述提供简单例子,为房产创建一个最小化看板视图。唯一展示字段为name....在上面的示例字段name被添加到元素,但state它之外。当我们需要字段值但不想在视图中显示它时,可以将其添加到元素之外。

2.1K20

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

数据文件内容也是模块安装或者更新时按序加载。因此,对CSV文件所做所有说明对XML文件都适用。...当数据链接到视图时,我们将它们添加到views文件夹 本章,我们将通过XML文件加载我们第一个action和菜单。Actions 和菜单为数据标准记录。...然而,菜单总是遵循一种体系结构,实际上有三个层次菜单: 根菜单,显示App切换器Odoo社区版切换器是一个下拉菜单) 第一级菜单,显示顶部栏 动作菜单 最容易方式是XML文件定义结构来创建菜单...我们看到一些属性,如required=True,会影响数据表模式。其他属性也将影响视图或提供默认值。 练习 -- 添加一些属性字段。...当需要相关行为时,需要在模型定义这些保留字段。 练习 -- 添加active字段 添加一个 active 字段estate.property 模型。

2.9K30

odoo 权限管理学习总结

res_partner表,那么odoo如何区分用户类型以及如何做权限控制呢?...highlight=noupdate base.user_admin :admin用户(ID为2用户,用户数据定义odoo\addons\base\data\res_users_data.xml...,可以Settings -> Users & Groups -> Groups界面看到,组定义相关数据存储res_groups表 eval语法说明 (0, 0, values) 从提供valueS...可以利用该特性实现隐藏对象需求,比如针对一些常规下不需要显示特殊字段,为其设置属性groups = "base.group_no_one",可以实现在非Debug模式下隐藏字段视图中显示。...模型访问权限(Access Rights,表级别) 当模型没有定义任何访问权限时,odoo会认为没有任何用户可以访问数据,并在日志打印: 2022-12-14 09:01:38,994 32508

10.1K20

odoo Actions学习总结

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

2.6K30

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

在上一章已经看到,odoo能够为给定模型生成默认视图。实际上,默认视图对于业务应用程序来说是不可接受。相反,我们至少应该以逻辑方式组织各个字段。 视图是带有操作和菜单XML文件定义。...它们是ir.ui.view model实例。 我们estate模块,我们需要以逻辑方式组织字段列表(树)视图中,我们希望显示不仅仅是名称。 表单视图中,应该对字段进行分组。...其最基础版本仅简单列出要在表显示所有字段(其中每个字段都是一列): <field name="...<em>在</em><em>odoo</em><em>中</em>,domain对记录上<em>的</em>条件进行编码:domain是用于选择模型记录子集<em>的</em>条件列表。每个条件都是<em>一个</em>包含<em>字段</em>名、运算符和值<em>的</em>三元组。...模型定义<em>一个</em>搜索视图 添加过滤和分组 添加以下内容<em>到</em>之前创建就<em>的</em>搜索视图 <em>一个</em><em>显示</em>avaliable地产<em>的</em>过滤器,也就说,state应该为 “New“ 或者“Offer Received”。

3.3K40

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

在这篇教程里我们将会了解 Odoo 模型里一些其他类型字段和特殊机制,而我依然会继续带领大家一起完善我们 Todo 应用,不断地往里面添加一些新功能特性,让它看起来更丰满也更实用一些。...,其中元组组成为 (value, string),左边数据存储值,右边一个用于界面显示描述。...在上一篇教程我们提到过,在对模型进行改动之后,需要对模块进行升级才能看到变更后样子,除了从应用列表中找到模块进行升级外,我们还可以命令行Odoo 启动命令加上参数 -u todo 指定升级...这个需求跟时间有关,并且时间是流动(一直变化),所以我们应该要有一个方法在用户每次打开待办事项之前,把这个结果计算好,并且反馈给用户,还好 Odoo ORM 已经为我们实现了相关机制——计算字段...而 @api.multi 则表示该方法 self 是一个记录集(多个实例集合),如果不理解,可以暂时不深究,后面自然会知道这里实际用法。

1.3K10

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

模块交互 在上一章,我们使用继承来修改模块行为。我们房地产场景,我们希望更进一步,能够为客户生成发票。...Odoo提供了一个开发票模块,因此直接从我们房地产模块创建发票是很简单,也就是说,一旦某个房产设置为“已售出”,就会在Invoicing应用程序创建发票 一个具体示例: 记账凭证(Account...不幸是,没有一种简单方法可以知道如何在Odoo创建任何给定对象。大多数时候,有必要查看其模型,以找到所需字段并提供适当值。 学习一个好方法是看看其他模块是如何完成你想做事情。...为此account.move创建中包含invoice_line_ids字段,这是一个One2many字段。One2many和Many2many使用通用ORM方法描述特殊“commands”。...下面是一个创建test.model时包含一个One2many字段line_ids简单示例: def inherited_action(self): self.env["test.model"

1.7K10

LINUX useradd命令使用总结

-c, --comment COMMENT         新账户 GECOS 字段    -d, --home-dir HOME_DIR       新账户主目录    -D, --defaults...     显示或更改默认 useradd 配置   -e, --expiredate EXPIRE_DATE  新账户过期日期    -f, --inactive INACTIVE       新账户密码不活动期... 默认值    -l, --no-log-init  不要将此用户添加到最近登录和登录失败数据库    -m, --create-home  创建用户主目录    -M, --no-create-home...odoo12,指定用户登录时目录为/opt/odoo12,创建一个和用户同名组,并将用户加到该组,指定用户登录后shell,默认为/bin/bash。  ...[root@localhost ~]# useradd -m -U -r -d /opt/odoo12 -s /bin/bash odoo12   7.查看用户信息 [root@localhost

1.1K31
领券