Odoo 13:检查用户是否只有一个相关员工

问题描述

我需要检查某个用户是否关联了一名且只有一名员工。

到目前为止,我有这个:

def _employee_get(obj,cr,uid,context=None):
    ids = obj.pool.get('hr.employee').search(cr,[('user_id','=',uid)],context=context)
    if ids:
        if len(ids) > 1:
            return False
        else:
            return ids[0]
    else:
        return False

class History(models.Model):
    _name = 'hospital.history'
    _description = 'hospital.history'

    date = fields.Date(required=True,default=fields.Date.today(),readonly=True)
    name = fields.Many2one('res.partner',string="Patient",required=True)
    healthworker = fields.Many2one('hr.employee',string='Sanitarian',default=_employee_get,readonly=True)
    testresults = fields.Text(string="Tests' Results")
    description = fields.Text(string="Description",required=True)
    specialities_ids = fields.Many2many('hospital.speciality','hospital_speciality_history_rel','history_id','speciality_id','Speciality')
    status = fields.Selection([('admitted','Admitted'),('outpatient','Outpatient Clinic')],'Status',required=True)

但是当我调用函数时出现此错误

类型错误:_employee_get() 缺少 2 个必需的位置参数:“cr”和“uid”

尝试了几种不同的方法,但无法使其正常工作,因此非常感谢您的帮助。

解决方法

阿尔法,

您已在新版本 NameError Traceback (most recent call last) <ipython-input-32-746108c79ca9> in <module> ----> 1 youtube = build('youtube,' 'v3',developerKey=api_key) NameError: name 'api_key' is not defined 中执行了 old 代码。

这个 odoo(13) 方法应该是这样的:

_employee_get

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...