【问题标题】:how to run odoo combuted field on all records?如何在所有记录上运行 odoo 计算字段?
【发布时间】:2019-12-29 15:14:46
【问题描述】:

大家好,我已经添加了一个名为employee_id 的文件,它获取记录id 作为员工id 计算字段, 当任何依赖字段发生变化时,它运行良好 但我需要在所有旧日期运行该功能,而不是在创建新员工时,或者我更改依赖项

方法如下

@api.one
@api.depends('name')
def _compute_employee_id(self):
    for rec in self:
        rec.employee_id = rec.id
    pass

employee_id = fields.Char('Employee ID',compute='_compute_employee_id',store=True)

任何帮助将不胜感激

【问题讨论】:

  • employee_id 仅依赖于 name 字段。请注意,不需要@api.one
  • 谢谢亲爱的,我知道并说它在依赖变化时工作得很好,我需要知道如何让它在 bervious 记录中工作
  • 我只是误解了你的问题。请你告诉我bervious是什么意思?
  • 添加方法前已有记录

标签: python odoo odoo-10 computed-field


【解决方案1】:

您可以直接在 Odoo 中执行此操作,无需接触服务器。

先开启开发者模式,然后去Settings - Technical - Actions - Server Actions

创建一个新记录,命名并选择您的代码型号,Action To Do 需要为Execute Python Code,代码字段中有以下代码。

for record in records:
    record._compute_employee_id()

保存并点击Create Contextual Action,刷新页面,转到打开列表视图的模块,全选,点击操作,选择刚刚创建的操作。完成后,您可以返回服务器操作并删除记录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多