在odoo 12中,可以通过计算字段(Computed Field)的方式将一个字段的数据显示到另一个字段中。计算字段是一种虚拟字段,它的值是通过计算其他字段的值得出的,而不是直接存储在数据库中。
要在odoo 12中实现这个功能,可以按照以下步骤进行操作:
@api.depends
装饰器来指定计算字段依赖的字段。例如: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
。
<field>
标签将目标字段添加到视图中的合适位置。例如:<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_field
和target_field
被添加到了同一个<group>
标签中,可以根据实际需求进行调整。
这样,当source_field
的值发生变化时,target_field
会自动更新为相同的值。注意,计算字段的值是实时计算的,不会存储在数据库中。
推荐的腾讯云相关产品:腾讯云服务器(CVM)和腾讯云数据库(TencentDB)。腾讯云服务器提供高性能、可扩展的云服务器实例,适用于各种应用场景。腾讯云数据库提供多种数据库引擎,包括关系型数据库和NoSQL数据库,可满足不同的数据存储需求。
腾讯云服务器产品介绍链接地址:https://cloud.tencent.com/product/cvm 腾讯云数据库产品介绍链接地址:https://cloud.tencent.com/product/cdb
领取专属 10元无门槛券
手把手带您无忧上云