تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال
1 الرد
1023 أدوات العرض

When I migrate from odoo15 to odoo 17 I got this error "AttributeError: 'list' object has no attribute 'with_context'". Here is the error list

RPC_ERROR

Odoo Server Error

Traceback (most recent call last):

  File "/home/cd009/odoo17/odoo17/odoo/http.py", line 1764, in _serve_db

    return service_model.retrying(self._serve_ir_http, self.env)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/cd009/odoo17/odoo17/odoo/service/model.py", line 133, in retrying

    result = func()

             ^^^^^^

  File "/home/cd009/odoo17/odoo17/odoo/http.py", line 1791, in _serve_ir_http

    response = self.dispatcher.dispatch(rule.endpoint, args)

               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/cd009/odoo17/odoo17/odoo/http.py", line 1995, in dispatch

    result = self.request.registry['ir.http']._dispatch(endpoint)

             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/cd009/odoo17/odoo17/odoo/addons/base/models/ir_http.py", line 222, in _dispatch

    result = endpoint(**request.params)

             ^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/cd009/odoo17/odoo17/odoo/http.py", line 741, in route_wrapper

    result = endpoint(self, *args, **params_ok)

             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/cd009/odoo17/odoo17/addons/web/controllers/dataset.py", line 28, in call_button

    action = self._call_kw(model, method, args, kwargs)

             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/cd009/odoo17/odoo17/addons/web/controllers/dataset.py", line 20, in _call_kw

    return call_kw(request.env[model], method, args, kwargs)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/cd009/odoo17/odoo17/odoo/api.py", line 468, in call_kw

    result = _call_kw_multi(method, model, args, kwargs)

             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/cd009/odoo17/odoo17/odoo/api.py", line 453, in _call_kw_multi

    result = method(recs, *args, **kwargs)

             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/cd009/odoo17/odoo17/addons/hr_holidays/models/hr_leave.py", line 1333, in action_validate

    self.write({'state': 'validate'})

  File "/home/cd009/odoo17/odoo17/addons/project_timesheet_holidays/models/hr_holidays.py", line 156, in write

    res = super().write(vals)

          ^^^^^^^^^^^^^^^^^^^

  File "/home/cd009/odoo17/odoo17/addons/hr_holidays_attendance/models/hr_leave.py", line 31, in write

    res = super().write(vals)

          ^^^^^^^^^^^^^^^^^^^

  File "/home/cd009/odoo17/odoo17/addons/hr_holidays/models/hr_leave.py", line 998, in write

    result = super(HolidaysRequest, self).write(values)

             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/cd009/odoo17/odoo17/addons/mail/models/mail_thread.py", line 317, in write

    result = super(MailThread, self).write(values)

             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/cd009/odoo17/odoo17/addons/mail/models/mail_activity_mixin.py", line 250, in write

    return super(MailActivityMixin, self).write(vals)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/cd009/odoo17/odoo17/odoo/models.py", line 4435, in write

    real_recs._validate_fields(vals, inverse_fields)

  File "/home/cd009/odoo17/odoo17/odoo/models.py", line 1459, in _validate_fields

    check(self)

  File "/home/cd009/odoo17/penygoncielo/om_hr_payroll/models/hr_leave_type.py", line 895, in _check_holidays

    mapped_days = self.holiday_status_id.get_allocation_data((self.employee_id | self.employee_ids).ids)

                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/cd009/odoo17/odoo17/addons/hr_holidays_attendance/models/hr_leave_type.py", line 37, in get_allocation_data

    res = super().get_allocation_data(employees, date)

          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/home/cd009/odoo17/odoo17/addons/hr_holidays/models/hr_leave_type.py", line 403, in get_allocation_data

    allocations_leaves_consumed, extra_data = employees.with_context(

                                              ^^^^^^^^^^^^^^^^^^^^^^

AttributeError: 'list' object has no attribute 'with_context'


The above server error caused the following client error:

RPC_ERROR: Odoo Server Error

    RPCError@http://localhost:8079/web/assets/7f5bbba/web.assets_web.min.js:2883:319

    makeErrorFromResponse@http://localhost:8079/web/assets/7f5bbba/web.assets_web.min.js:2886:163

    jsonrpc/promise</<@http://localhost:8079/web/assets/7f5bbba/web.assets_web.min.js:2890:34

   

Anyone please give suggestions to fix this error


الصورة الرمزية
إهمال
أفضل إجابة

 File "/home/cd009/odoo17/penygoncielo/om_hr_payroll/models/hr_leave_type.py", line 895, in _check_holidays

    mapped_days = self.holiday_status_id.get_allocation_data((self.employee_id | self.employee_ids).ids)


It looks like here you have passed the employee id instead of the object hence the error.

Just remove the .ids and try again.

الصورة الرمزية
إهمال
المنشورات ذات الصلة الردود أدوات العرض النشاط
1
نوفمبر 24
1484
1
نوفمبر 24
1617
0
أغسطس 24
1042
1
يناير 25
815
2
أغسطس 24
1195