Skip to Content
Menu
This question has been flagged
1 Reply
2878 Views

I added a custom field "x_turn_over" to res.partner model using instructions from https://www.youtube.com/watch?v=ZZwRvP7lJng. 

I tried installing the Projects module and i get the below error. To try to resolve this i tried adding a custom field under project.project model

I am fairly new to odoo with no python background so any help will be appreciated. 

Error:

Odoo Server Error


Traceback (most recent call last):

  File "/usr/lib/python3/dist-packages/odoo/models.py", line 1036, in _validate_fields

    check(self)

  File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 342, in _check_xml

    self.postprocess_and_fields(view.model, view_doc, view.id)

  File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 1061, in postprocess_and_fields

    self.raise_view_error(message, view_id)

  File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 516, in raise_view_error

    raise ValueError(message)

ValueError: Field `x_turn_over` does not exist. 


Error context:

View `res.partner.task.buttons`

[view_id: 1597, xml_id: n/a, model: res.partner, parent_id: 112]


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 744, in parse

    self._tags[rec.tag](rec, de, mode=mode)

  File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 654, in _tag_record

    id = self.env(context=rec_context)['ir.model.data']._update(rec_model, self.module, res, rec_id or False, not self.isnoupdate(data_node), noupdate=self.isnoupdate(data_node), mode=self.mode)

  File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_model.py", line 1487, in _update

    record = record.create(values)

  File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 405, in create

    return super(View, self).create(self._compute_defaults(values))

  File "/usr/lib/python3/dist-packages/odoo/models.py", line 3380, in create

    self._fields[key].determine_inverse(record)

  File "/usr/lib/python3/dist-packages/odoo/fields.py", line 1071, in determine_inverse

    getattr(records, self.inverse)()

  File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 273, in _inverse_arch

    view.write(data)

  File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 421, in write

    return super(View, self).write(self._compute_defaults(vals))

  File "/usr/lib/python3/dist-packages/odoo/models.py", line 3089, in write

    self._write(old_vals)

  File "/usr/lib/python3/dist-packages/odoo/models.py", line 3255, in _write

    self._validate_fields(vals)

  File "/usr/lib/python3/dist-packages/odoo/models.py", line 1040, in _validate_fields

    raise ValidationError("%s\n\n%s" % (_("Error while validating constraint"), tools.ustr(e)))

odoo.exceptions.ValidationError: ('Error while validating constraint\n\nField `x_turn_over` does not exist\n\nError context:\nView `res.partner.task.buttons`\n[view_id: 1597, xml_id: n/a, model: res.partner, parent_id: 112]', None)


During handling of the above exception, another exception occurred:


Traceback (most recent call last):

  File "/usr/lib/python3/dist-packages/odoo/http.py", line 650, in _handle_exception

    return super(JsonRequest, self)._handle_exception(exception)

  File "/usr/lib/python3/dist-packages/odoo/http.py", line 310, in _handle_exception

    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])

  File "/usr/lib/python3/dist-packages/odoo/tools/pycompat.py", line 87, in reraise

    raise value

  File "/usr/lib/python3/dist-packages/odoo/http.py", line 692, in dispatch

    result = self._call_function(**self.params)

  File "/usr/lib/python3/dist-packages/odoo/http.py", line 342, in _call_function

    return checked_call(self.db, *args, **kwargs)

  File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 97, in wrapper

    return f(dbname, *args, **kwargs)

  File "/usr/lib/python3/dist-packages/odoo/http.py", line 335, in checked_call

    result = self.endpoint(*a, **kw)

  File "/usr/lib/python3/dist-packages/odoo/http.py", line 936, in __call__

    return self.method(*args, **kw)

  File "/usr/lib/python3/dist-packages/odoo/http.py", line 515, in response_wrap

    response = f(*args, **kw)

  File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 938, in call_button

    action = self._call_kw(model, method, args, {})

  File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 926, in _call_kw

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

  File "/usr/lib/python3/dist-packages/odoo/api.py", line 689, in call_kw

    return call_kw_multi(method, model, args, kwargs)

  File "/usr/lib/python3/dist-packages/odoo/api.py", line 680, in call_kw_multi

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

  File "<decorator-gen-42>", line 2, in button_immediate_install

  File "/usr/lib/python3/dist-packages/odoo/addons/base/module/module.py", line 71, in check_and_log

    return method(self, *args, **kwargs)

  File "/usr/lib/python3/dist-packages/odoo/addons/base/module/module.py", line 449, in button_immediate_install

    return self._button_immediate_function(type(self).button_install)

  File "/usr/lib/python3/dist-packages/odoo/addons/base/module/module.py", line 542, in _button_immediate_function

    modules.registry.Registry.new(self._cr.dbname, update_module=True)

  File "/usr/lib/python3/dist-packages/odoo/modules/registry.py", line 85, in new

    odoo.modules.load_modules(registry._db, force_demo, status, update_module)

  File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 380, in load_modules

    loaded_modules, update_module, models_to_check)

  File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 274, in load_marked_modules

    perform_checks=perform_checks, models_to_check=models_to_check

  File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 181, in load_module_graph

    _load_data(cr, module_name, idref, mode, kind='data')

  File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 95, in _load_data

    tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report)

  File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 791, in convert_file

    convert_xml_import(cr, module, fp, idref, mode, noupdate, report)

  File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 852, in convert_xml_import

    obj.parse(doc.getroot(), mode=mode)

  File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 751, in parse

    exc_info[2]

  File "/usr/lib/python3/dist-packages/odoo/tools/pycompat.py", line 86, in reraise

    raise value.with_traceback(tb)

  File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 744, in parse

    self._tags[rec.tag](rec, de, mode=mode)

  File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 654, in _tag_record

    id = self.env(context=rec_context)['ir.model.data']._update(rec_model, self.module, res, rec_id or False, not self.isnoupdate(data_node), noupdate=self.isnoupdate(data_node), mode=self.mode)

  File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_model.py", line 1487, in _update

    record = record.create(values)

  File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 405, in create

    return super(View, self).create(self._compute_defaults(values))

  File "/usr/lib/python3/dist-packages/odoo/models.py", line 3380, in create

    self._fields[key].determine_inverse(record)

  File "/usr/lib/python3/dist-packages/odoo/fields.py", line 1071, in determine_inverse

    getattr(records, self.inverse)()

  File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 273, in _inverse_arch

    view.write(data)

  File "/usr/lib/python3/dist-packages/odoo/addons/base/ir/ir_ui_view.py", line 421, in write

    return super(View, self).write(self._compute_defaults(vals))

  File "/usr/lib/python3/dist-packages/odoo/models.py", line 3089, in write

    self._write(old_vals)

  File "/usr/lib/python3/dist-packages/odoo/models.py", line 3255, in _write

    self._validate_fields(vals)

  File "/usr/lib/python3/dist-packages/odoo/models.py", line 1040, in _validate_fields

    raise ValidationError("%s\n\n%s" % (_("Error while validating constraint"), tools.ustr(e)))

odoo.tools.convert.ParseError: "Error while validating constraint


Field `x_turn_over` does not exist


Error context:

View `res.partner.task.buttons`

[view_id: 1597, xml_id: n/a, model: res.partner, parent_id: 112]

None" while parsing /usr/lib/python3/dist-packages/odoo/addons/project/views/res_partner_views.xml:5, near

<record id="view_task_partner_info_form" model="ir.ui.view">

            <field name="name">res.partner.task.buttons</field>

            <field name="model">res.partner</field>

            <field name="inherit_id" ref="base.view_partner_form"/>

            <field name="priority" eval="50"/>

            <field name="groups_id" eval="[(4, ref('project.group_project_user'))]"/>

            <field name="arch" type="xml">

                <button name="toggle_active" position="before">

                    <button class="oe_stat_button" type="action" name="%(project_task_action_from_partner)d" context="{'search_default_partner_id': active_id, 'default_partner_id': active_id}" attrs="{'invisible': [('task_count', '=', 0)]}" icon="fa-tasks">

                        <field string="Tasks" name="task_count" widget="statinfo"/>

                    </button>

                </button>

            </field>

       </record>

Avatar
Discard
Author

It is a odoo module, so it is in the default Addons directory that is on the config file.

I think the issue is in the /usr/lib/python3/dist-packages/odoo/addons/project/views/res_partner_views.xml

When i added <field string="Turn Over" name="x_turn_over" widget="statinfo"/>

I got the following error:

Traceback (most recent call last):

File "/usr/lib/python3/dist-packages/odoo/http.py", line 650, in _handle_exception

return super(JsonRequest, self)._handle_exception(exception)

File "/usr/lib/python3/dist-packages/odoo/http.py", line 310, in _handle_exception

raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])

File "/usr/lib/python3/dist-packages/odoo/tools/pycompat.py", line 87, in reraise

raise value

File "/usr/lib/python3/dist-packages/odoo/http.py", line 692, in dispatch

result = self._call_function(**self.params)

File "/usr/lib/python3/dist-packages/odoo/http.py", line 342, in _call_function

return checked_call(self.db, *args, **kwargs)

File "/usr/lib/python3/dist-packages/odoo/service/model.py", line 97, in wrapper

return f(dbname, *args, **kwargs)

File "/usr/lib/python3/dist-packages/odoo/http.py", line 335, in checked_call

result = self.endpoint(*a, **kw)

File "/usr/lib/python3/dist-packages/odoo/http.py", line 936, in __call__

return self.method(*args, **kw)

File "/usr/lib/python3/dist-packages/odoo/http.py", line 515, in response_wrap

response = f(*args, **kw)

File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 938, in call_button

action = self._call_kw(model, method, args, {})

File "/usr/lib/python3/dist-packages/odoo/addons/web/controllers/main.py", line 926, in _call_kw

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

File "/usr/lib/python3/dist-packages/odoo/api.py", line 689, in call_kw

return call_kw_multi(method, model, args, kwargs)

File "/usr/lib/python3/dist-packages/odoo/api.py", line 680, in call_kw_multi

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

File "<decorator-gen-42>", line 2, in button_immediate_install

File "/usr/lib/python3/dist-packages/odoo/addons/base/module/module.py", line 71, in check_and_log

return method(self, *args, **kwargs)

File "/usr/lib/python3/dist-packages/odoo/addons/base/module/module.py", line 449, in button_immediate_install

return self._button_immediate_function(type(self).button_install)

File "/usr/lib/python3/dist-packages/odoo/addons/base/module/module.py", line 542, in _button_immediate_function

modules.registry.Registry.new(self._cr.dbname, update_module=True)

File "/usr/lib/python3/dist-packages/odoo/modules/registry.py", line 85, in new

odoo.modules.load_modules(registry._db, force_demo, status, update_module)

File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 380, in load_modules

loaded_modules, update_module, models_to_check)

File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 274, in load_marked_modules

perform_checks=perform_checks, models_to_check=models_to_check

File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 181, in load_module_graph

_load_data(cr, module_name, idref, mode, kind='data')

File "/usr/lib/python3/dist-packages/odoo/modules/loading.py", line 95, in _load_data

tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report)

File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 791, in convert_file

convert_xml_import(cr, module, fp, idref, mode, noupdate, report)

File "/usr/lib/python3/dist-packages/odoo/tools/convert.py", line 839, in convert_xml_import

relaxng.assert_(doc)

File "src/lxml/etree.pyx", line 3542, in lxml.etree._Validator.assert_

AssertionError: Element odoo has extra content: record, line 5

Best Answer

I think 'x_turn_over' field initiated with Odoo default editor .

So please add this custom module addons path to config file.

I hope you understood what's the problem after seeing this.


Avatar
Discard