Overslaan naar inhoud
Menu
Je moet geregistreerd zijn om te kunnen communiceren met de community.
Deze vraag is gerapporteerd
4 Antwoorden
6367 Weergaven

Hello, during a custom module upgrade I'm facing a weird error.

Traceback (most recent call last):
  File "/home/thecowmilk/dev/odoo15/odoo/odoo/addons/base/models/ir_http.py", line 237, in _dispatch
    result = request.dispatch()
  File "/home/thecowmilk/dev/odoo15/odoo/odoo/http.py", line 687, in dispatch
    result = self._call_function(**self.params)
  File "/home/thecowmilk/dev/odoo15/odoo/odoo/http.py", line 359, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "/home/thecowmilk/dev/odoo15/odoo/odoo/service/model.py", line 94, in wrapper
    return f(dbname, *args, **kwargs)
  File "/home/thecowmilk/dev/odoo15/odoo/odoo/http.py", line 348, in checked_call
    result = self.endpoint(*a, **kw)
  File "/home/thecowmilk/dev/odoo15/odoo/odoo/http.py", line 916, in __call__
    return self.method(*args, **kw)
  File "/home/thecowmilk/dev/odoo15/odoo/odoo/http.py", line 535, in response_wrap
    response = f(*args, **kw)
  File "/home/thecowmilk/dev/odoo15/odoo/addons/web/controllers/main.py", line 1351, in call_button
    action = self._call_kw(model, method, args, kwargs)
  File "/home/thecowmilk/dev/odoo15/odoo/addons/web/controllers/main.py", line 1339, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "/home/thecowmilk/dev/odoo15/odoo/odoo/api.py", line 464, in call_kw
    result = _call_kw_multi(method, model, args, kwargs)
  File "/home/thecowmilk/dev/odoo15/odoo/odoo/api.py", line 451, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "", line 2, in button_immediate_install
  File "/home/thecowmilk/dev/odoo15/odoo/odoo/addons/base/models/ir_module.py", line 74, in check_and_log
    return method(self, *args, **kwargs)
  File "/home/thecowmilk/dev/odoo15/odoo/odoo/addons/base/models/ir_module.py", line 483, in button_immediate_install
    return self._button_immediate_function(type(self).button_install)
  File "/home/thecowmilk/dev/odoo15/odoo/odoo/addons/base/models/ir_module.py", line 600, in _button_immediate_function
    registry = modules.registry.Registry.new(self._cr.dbname, update_module=True)
  File "/home/thecowmilk/dev/odoo15/odoo/odoo/modules/registry.py", line 87, in new
    odoo.modules.load_modules(registry, force_demo, status, update_module)
  File "/home/thecowmilk/dev/odoo15/odoo/odoo/modules/loading.py", line 474, in load_modules
    processed_modules += load_marked_modules(cr, graph,
  File "/home/thecowmilk/dev/odoo15/odoo/odoo/modules/loading.py", line 363, in load_marked_modules
    loaded, processed = load_module_graph(
  File "/home/thecowmilk/dev/odoo15/odoo/odoo/modules/loading.py", line 198, in load_module_graph
    registry.setup_models(cr)
  File "/home/thecowmilk/dev/odoo15/odoo/odoo/modules/registry.py", line 290, in setup_models
    model._setup_fields()
  File "/home/thecowmilk/dev/odoo15/odoo/odoo/models.py", line 3049, in _setup_fields
    field.setup(self)
  File "/home/thecowmilk/dev/odoo15/odoo/odoo/fields.py", line 464, in setup
    self.setup_nonrelated(model)
  File "/home/thecowmilk/dev/odoo15/odoo/odoo/fields.py", line 2370, in setup_nonrelated
    assert self.selection is not None, "Field %s without selection" % self
Exception

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/thecowmilk/dev/odoo15/odoo/odoo/http.py", line 643, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "/home/thecowmilk/dev/odoo15/odoo/odoo/http.py", line 301, in _handle_exception
    raise exception.with_traceback(None) from new_cause
AssertionError: Field res.partner.user_is without selection


I don't understand what does "field .... without selection" means. How to fix this ?? Thanks!

Avatar
Annuleer
Beste antwoord

Hi,

The error message "AssertionError: Field res.partner.user_is without selection" usually occurs when you are trying to create a new field without specifying a selection list.

Here are the steps to resolve this error:

  1. Check if you have defined the "user_is" field in the "res.partner" model. If you have not defined this field yet, you can add it to the model as follows:

python:-

from odoo import fields, models

class ResPartner(models.Model):
_inherit = 'res.partner'

user_is = fields.Selection([
('true', 'True'),
('false', 'False')
], string="User is", default='false')

In this example, we have added a new field called "user_is" to the "res.partner" model with a selection list of two options ('true' and 'false').

  1. If you have already defined the "user_is" field, make sure that you have specified a selection list. For example:

user_is = fields.Selection(selection=[
('true', 'True'),
('false', 'False'),
], string="User is", default='false')

Regards

Avatar
Annuleer
Beste antwoord

The "Field is without Selection" error occur when you have a Selection field with only one selection:

Bad:

customer_type = fields.Selection([('silver','Silver')], string='Customer Type')​ <==only one option

Good:

customer_type = fields.Selection([('silver','Silver'),('gold','Gold')], string='Customer Type')​ <==two options


Avatar
Annuleer
Beste antwoord

Probably you created a field named user_is on res.partner model of type selection with no selection option given. add some selection options and default value to the field definition i.e



    user_is = fields.Selection([        ('super_admin', 'Super Admin'),        ('admin', 'Admin'),        ('visitor', 'Visitor'),        ('portal_user', "Portal User")    ], string='User Is',default='super_admin')
Avatar
Annuleer
Beste antwoord

I'm also having the same problem and am unable solve to this answer. plz help

Avatar
Annuleer
Gerelateerde posts Antwoorden Weergaven Activiteit
2
jul. 22
4124
3
dec. 21
3790
2
dec. 17
16226
0
apr. 15
3501
1
mrt. 15
9049