gpt4 book ai didi

python - 在odoo 12中按项目过滤员工

转载 作者:行者123 更新时间:2023-12-04 08:40:16 25 4
gpt4 key购买 nike

我正在自定义 Odoo 项目模块,在模块中,我们有分配给员工任务的项目,我需要根据项目选择有一个员工下拉列表,但因为没有直接关系,我必须搜索所有与项目相关的任务,然后搜索员工。
到目前为止,这是我的模型:

class myModel(models.TransientModel):
_name = "mymodule.mymodel"

project_id = fields.Many2one('project.project', string="Project")
task_id = fields.Many2one('project.task', string="Task", domain="[('project_id', '=', project_id)]")
employee_id = fields.Many2one('hr.employee', string="Assign To")

@api.onchange('project_id')
def _projecy_onchange(self):
if not self.project_id.id:
return {'domain': {'employee_id': []}}

tasks = self.env['project.task'].search([('project_id','=',self.project_id.id)])

user_ids = []
for t in tasks:
if t.user_id:
user_ids.append(t.user_id.id)


if len(user_ids)>0:
employees = self.env['hr.employee'].search(['user_id','in', user_ids])
return {'domain': {'employee_id': employees}}
else:
return {'domain': {'employee_id': []}}
我想搜索员工时遇到问题:

employees = self.env['hr.employee'].search(['user_id','in',user_ids])


我收到以下错误:

elif token[1] == 'in' and not token[2]: IndexError: tuple index outof range


当我打印 user_ids 是一个基本列表,其中的 ids 类似于 [9] (单个元素,让我更明显)
我了解搜索可以作为
雇员 = self.env['hr.employee'].search(['user_id','in', [9])
任何指导将不胜感激

最佳答案

你有 odoo 的 语法错误。搜索 方法这样做,

employees = self.env['hr.employee'].search([('user_id','in', user_ids)])
语法中缺少的部分:域周围的圆括号。

关于python - 在odoo 12中按项目过滤员工,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64602112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com