You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Odoo Studio创建动态日期时间字段:打开记录时显示当前日期

解决方案

1. 实现已保存记录日期每日自动变更(连续日期功能)

核心通过Odoo的**计划任务(Cron)**实现每日自动更新:

  • 步骤1:编写日期更新方法
    在目标模型中添加Python方法,遍历目标记录并将日期字段加1天:

    from datetime import timedelta
    from odoo import models
    
    class TargetModel(models.Model):
        _inherit = 'your.target.model'  # 替换为实际模型名
    
        def auto_update_daily_date(self):
            # 可添加过滤条件,仅更新符合要求的记录
            records = self.search([])
            for rec in records:
                if rec.your_date_field:  # 替换为实际日期字段名
                    rec.your_date_field += timedelta(days=1)
    
  • 步骤2:配置计划任务

    1. 进入Odoo后台,打开「设置 → 技术 → 自动化 → 计划任务」
    2. 新建任务:
      • 名称:自定义(如「每日自动更新日期」)
      • 模型:选择目标模型
      • 方法:选择刚创建的auto_update_daily_date
      • 执行频率:设置为每日执行(比如凌晨0点)
      • 勾选「已激活」启用任务

2. 在Odoo Studio中创建动态日期时间字段(打开即显示当前时间)

通过不存储的计算字段实现动态显示当前时间:

  • 步骤1:在Studio中添加字段

    1. 打开Odoo Studio,进入目标模型编辑界面
    2. 点击「添加字段」,选择「日期时间」类型,填写字段名称(如live_current_datetime)
  • 步骤2:配置动态计算规则

    1. 在字段设置面板中,找到「计算」选项,选择「Python代码」
    2. 在代码框中输入:
      from odoo import fields
      return fields.Datetime.now()
      
    3. 勾选「不存储」选项(确保每次打开记录都会重新计算当前时间)
    4. 保存字段并发布Studio修改

完成后,记录创建时会显示当前日期时间,后续每次打开该记录,字段都会自动刷新为当前时间,而非创建时的固定值。

内容的提问来源于stack exchange,提问作者Vladek Ferrer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 22:55:18