我如何从给定记录中获取用户ID值

时间:2019-08-05 06:35:58

标签: python odoo

我需要重新创建一条记录。我能够从记录中获取所有字段,但是在获取属于res.user

的用户ID时遇到了麻烦

我有一个计划的操作,该操作将遍历所有记录,并根据某些条件重新创建一条记录。为了重新创建记录,我需要复制所有字段的值。有一个名为“ assigned_to”的字段,其中包含来自res.user的值。创建新记录时,如何获取其ID并将其写入?我正在尝试:

for duty in duties:
  if duty.x_studio_on_date_or_after_days == 'on_date':
    user_id = env['x_duties'].search([('x_studio_assigned_to', '=', duty.x_studio_assigned_to)]).id
    #user_id =39
    current_date = datetime.datetime.now().date().strftime('%d')
    if duty.x_studio_date_of_every_month_1 == current_date:
      env['x_duties'].create({'x_name': '[Automated] '+ duty.x_name ,  'x_studio_details' : duty.x_studio_details, 'x_studio_assigned_to' : user_id  , 'x_studio_reoccurred_task' : True })

我遇到此错误

Invalid value res.users(39,) in domain term ('x_studio_assigned_to', '=', res.users(39,))

1 个答案:

答案 0 :(得分:0)

想通了:)

我只需要将user_id = duty.x_studio_assigned_to.id代替user_id = duty.x_studio_assigned_to