Skip to Content
Menu
This question has been flagged
2 Replies
807 Views

​Can anyone help me figure out where the error is? No matter what I try, I can't get it to work. If anyone has a solution, please share!


class ResUsers(models.Model):

​ _inherit = 'res.users'

​ is_app_admin = fields.Boolean(

​ string="Is App Admin", default=True, store=True)


Traceback (most recent call last):
  File "<546>", line 120, in template_546_t_nocache_0
  File "/usr/lib/python3/dist-packages/odoo/fields.py", line 1207, in __get__
    self.compute_value(recs)
  File "/usr/lib/python3/dist-packages/odoo/fields.py", line 1389, in compute_value
    records._compute_field_value(self)
  File "/usr/lib/python3/dist-packages/odoo/models.py", line 4894, in _compute_field_value
    fields.determine(field.compute, self)
  File "/usr/lib/python3/dist-packages/odoo/fields.py", line 105, in determine
    return needle(records, *args)
  File "/usr/lib/python3/dist-packages/odoo/fields.py", line 695, in _compute_related
    values = [first(value[name]) for value in values]
  File "/usr/lib/python3/dist-packages/odoo/fields.py", line 695, in <listcomp>
    values = [first(value[name]) for value in values]
  File "/usr/lib/python3/dist-packages/odoo/models.py", line 6650, in __getitem__
    return self._fields[key].__get__(self, self.env.registry[self._name])
  File "/usr/lib/python3/dist-packages/odoo/fields.py", line 2907, in __get__
    return super().__get__(records, owner)
  File "/usr/lib/python3/dist-packages/odoo/fields.py", line 1182, in __get__
    recs._fetch_field(self)
  File "/usr/lib/python3/dist-packages/odoo/models.py", line 3796, in _fetch_field
    self.fetch(fnames)
  File "/usr/lib/python3/dist-packages/odoo/models.py", line 3846, in fetch
    fetched = self._fetch_query(query, fields_to_fetch)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/res_users.py", line 545, in _fetch_query
    records = super()._fetch_query(query, fields)
  File "/usr/lib/python3/dist-packages/odoo/models.py", line 3938, in _fetch_query
    self.env.cr.execute(query.select(*sql_terms))
  File "/usr/lib/python3/dist-packages/odoo/sql_db.py", line 332, in execute
    res = self._obj.execute(query, params)
psycopg2.errors.UndefinedColumn: column res_users.is_app_admin does not exist
LINE 1: ...sers"."odoobot_failed", "res_users"."website_id", "res_users...
                                                             ^


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

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 1782, in _serve_db
    return service_model.retrying(self._serve_ir_http, self.env)
  File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 133, in retrying
    result = func()
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 1809, in _serve_ir_http
    response = self.dispatcher.dispatch(rule.endpoint, args)
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 1926, in dispatch
    return self.request.registry['ir.http']._dispatch(endpoint)
  File "/usr/lib/python3/dist-packages/odoo/addons/website/models/ir_http.py", line 235, in _dispatch
    response = super()._dispatch(endpoint)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_http.py", line 223, in _dispatch
    result.flatten()
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 1329, in flatten
    self.response.append(self.render())
  File "/usr/lib/python3/dist-packages/odoo/http.py", line 1321, in render
    return request.env["ir.ui.view"]._render_template(self.template, self.qcontext)
  File "/usr/lib/python3/dist-packages/odoo/addons/website/models/ir_ui_view.py", line 442, in _render_template
    return super()._render_template(template, values=values)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_ui_view.py", line 2055, in _render_template
    return self.env['ir.qweb']._render(template, values)
  File "/usr/lib/python3/dist-packages/odoo/tools/profiler.py", line 294, in _tracked_method_render
    return method_render(self, template, values, **options)
  File "/usr/lib/python3/dist-packages/odoo/addons/base/models/ir_qweb.py", line 599, in _render
    result = ''.join(rendering)
  File "<752>", line 39, in template_752
  File "<752>", line 28, in template_752_content
  File "<762>", line 1595, in template_762
  File "<762>", line 1433, in template_762_content
  File "<546>", line 189, in template_546_t_nocache_0
odoo.addons.base.models.ir_qweb.QWebException: Error while render the template
UndefinedColumn: column res_users.is_app_admin does not exist
LINE 1: ...sers"."odoobot_failed", "res_users"."website_id", "res_users...
                                                             ^

Template: portal.user_dropdown
Path: /t/t/li/a/span
Node: <span t-if="_user_name" t-attf-class="#{_user_name_class}" t-esc="user_id.name[:23] + \'...\' if user_id.name and len(user_id.name) &gt; 25 else user_id.name"/>



Avatar
Discard
Best Answer

Hi,

Your Python code added a new field (is_app_admin) on the res.users model, but that field hasn't been added to the database schema yet. In Odoo, when you define a new field in Python (like your is_app_admin Boolean field), you must update the module so that Odoo adds that field to the database table.


1. Run from terminal (Odoo source setup):

./odoo-bin -u your_module_name -d your_database_name

Or 

2. From the UI:

-Activate Developer Mode

-Go to Apps

-Click Upgrade next to your module


Hope it helps.

Avatar
Discard
Best Answer

I can't explain the reason this error happens. but here is a solution you can try.

  1. comment is_app_admin and any method that call this field on your code.
# is_app_admin = fields.Boolean(string="Is App Admin", default=True, store=True)

2. Restart odoo service

3. On Odoo App Page, navigate to your module and click module info. don't click upgrade

4. uncomment your code on poin 1

5. restart odoo service

6. click upgrade on point 3


Avatar
Discard
Related Posts Replies Views Activity
3
May 25
1584
1
Apr 25
1183
3
Sep 24
14029
2
Feb 24
2380
1
Jul 23
2639