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

Module Odoo 13:检查用户是否只有一名相关员工,module,self,odoo-13,uid,Module,Self,Odoo 13,Uid,我需要检查某个用户是否只有一个员工关联 到目前为止,我有: def _employee_get(obj, cr, uid, context=None): ids = obj.pool.get('hr.employee').search(cr, uid, [('user_id', '=', uid)], context=context) if ids: if len(ids) > 1: return False else

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

到目前为止,我有:

def _employee_get(obj, cr, uid, context=None):
    ids = obj.pool.get('hr.employee').search(cr, uid, [('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)
但是当我调用该函数时,我得到以下错误:

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

已经尝试了几种不同的方法,但无法使其发挥作用,因此我们将非常感谢任何帮助。

alfa

您已在新版
odoo(13)
中执行了
旧的
代码

\u employee\u get
方法应如下所示:

def _employee_get(self):
    return self.env['hr.employee'].search([('user_id', '=', uid)], limit=1)

非常感谢你,@Dipen Shah,我非常感谢你的回答。