【问题标题】:Is it possible to use onchange with 2 fields? -Odoo 8是否可以将 onchange 与 2 个字段一起使用? -Odoo 8
【发布时间】:2015-06-12 07:36:52
【问题描述】:

我目前有一个 onchange 函数,每次我更改用户时都可以使用,但我想知道这个函数是否可以使用 OR 在 2 个字段上工作?例如:如果工单中的用户 OR 状态发生更改,则在描述字段中添加文本。

@api.onchange('responsible_id' or 'state')
def _update_resolution(self):
    fmt = "%Y-%m-%d %H:%M:%S %Z%z" #datetime format
    user = self.env.user

    context_tz = pytz.utc
    if (user.partner_id.tz):
        context_tz = pytz.timezone(user.partner_id.tz)

    now_utc = datetime.datetime.now(pytz.utc)
    now_user_dt = now_utc.astimezone(context_tz)

    resolution = ""
    resolution_format = "** {0:s}: {1:s}:-\n{2:s}"
    if (self.resolution):
        resolution = self.resolution
        resolution_format = "** {0:s}: {1:s}:-\n\n\n{2:s}"

    self.resolution = resolution_format.format(user.name, str(now_user_dt.strftime(fmt)), resolution)

没有收到任何错误,但它没有按我的预期工作

【问题讨论】:

    标签: python onchange odoo-8


    【解决方案1】:

    尝试关注,

    @api.onchange('responsible_id','state')
    def _update_resolution(self):
        fmt = "%Y-%m-%d %H:%M:%S %Z%z" #datetime format
        user = self.env.user
    
        context_tz = pytz.utc
        if (user.partner_id.tz):
            context_tz = pytz.timezone(user.partner_id.tz)
    
        now_utc = datetime.datetime.now(pytz.utc)
        now_user_dt = now_utc.astimezone(context_tz)
    
        resolution = ""
        resolution_format = "** {0:s}: {1:s}:-\n{2:s}"
        if (self.resolution):
            resolution = self.resolution
            resolution_format = "** {0:s}: {1:s}:-\n\n\n{2:s}"
    
        self.resolution = resolution_format.format(user.name, str(now_user_dt.strftime(fmt)), resolution)
    

    【讨论】:

      猜你喜欢
      • 2017-08-20
      • 1970-01-01
      • 2022-01-04
      • 2019-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多