This question has been flagged
3 Replies
15574 Views

every time i inherit a model now and try to add a fields it doesn't add the new fields

Odoo Server Error
Traceback (most recent call last):
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 1102, in _validate_fields
    check(self)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\addons\base\models\ir_ui_view.py", line 351, in _check_xml
    self.postprocess_and_fields(view.model, view_doc, view.id)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\addons\base\models\ir_ui_view.py", line 1092, in postprocess_and_fields
    self.raise_view_error(message, view_id)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\addons\base\models\ir_ui_view.py", line 545, in raise_view_error
    raise ValueError(message)
ValueError: Field `fax_number` does not exist

Error context:
View `res.partner.inherit`
[view_id: 340, xml_id: n/a, model: res.partner, parent_id: 113]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\convert.py", line 757, in parse
    self._tags[rec.tag](rec, de, mode=mode)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\convert.py", line 662, in _tag_record
    record = model.with_context(rec_context)._load_records([data], self.mode == 'update')
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 3805, in _load_records
    records = self.create([data['values'] for data in to_create])
  File "<decorator-gen-32>", line 2, in create
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\api.py", line 452, in _model_create_multi
    return create(self, arg)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\addons\base\models\ir_ui_view.py", line 425, in create
    return super(View, self).create(vals_list)
  File "<decorator-gen-3>", line 2, in create
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\api.py", line 452, in _model_create_multi
    return create(self, arg)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 3542, in create
    fields[0].determine_inverse(batch_recs)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\fields.py", line 1104, in determine_inverse
    getattr(records, self.inverse)()
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\addons\base\models\ir_ui_view.py", line 275, in _inverse_arch
    view.write(data)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\addons\base\models\ir_ui_view.py", line 441, in write
    return super(View, self).write(self._compute_defaults(vals))
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 3259, in write
    self._write(store_vals)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 3403, in _write
    self._validate_fields(vals)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 1106, 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 `fax_number` does not exist\n\nError context:\nView `res.partner.inherit`\n[view_id: 340, xml_id: n/a, model: res.partner, parent_id: 113]', None)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 654, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 312, in _handle_exception
    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\pycompat.py", line 87, in reraise
    raise value
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 696, in dispatch
    result = self._call_function(**self.params)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 344, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\service\model.py", line 97, in wrapper
    return f(dbname, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 337, in checked_call
    result = self.endpoint(*a, **kw)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 939, in __call__
    return self.method(*args, **kw)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 517, in response_wrap
    response = f(*args, **kw)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\addons\web\controllers\main.py", line 966, in call_button
    action = self._call_kw(model, method, args, {})
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\addons\web\controllers\main.py", line 954, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\api.py", line 749, in call_kw
    return _call_kw_multi(method, model, args, kwargs)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\api.py", line 736, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "<decorator-gen-67>", line 2, in button_immediate_upgrade
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\addons\base\models\ir_module.py", line 71, in check_and_log
    return method(self, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\addons\base\models\ir_module.py", line 596, in button_immediate_upgrade
    return self._button_immediate_function(type(self).button_upgrade)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\addons\base\models\ir_module.py", line 535, in _button_immediate_function
    modules.registry.Registry.new(self._cr.dbname, update_module=True)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\registry.py", line 86, in new
    odoo.modules.load_modules(registry._db, force_demo, status, update_module)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\loading.py", line 417, in load_modules
    force, status, report, loaded_modules, update_module, models_to_check)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\loading.py", line 313, in load_marked_modules
    perform_checks=perform_checks, models_to_check=models_to_check
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\loading.py", line 222, in load_module_graph
    load_data(cr, idref, mode, kind='data', package=package, report=report)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\loading.py", line 68, in load_data
    tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind, report)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\convert.py", line 801, in convert_file
    convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\convert.py", line 864, in convert_xml_import
    obj.parse(doc.getroot(), mode=mode)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\convert.py", line 763, in parse
    exc_info[2]
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\pycompat.py", line 86, in reraise
    raise value.with_traceback(tb)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\convert.py", line 757, in parse
    self._tags[rec.tag](rec, de, mode=mode)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\convert.py", line 662, in _tag_record
    record = model.with_context(rec_context)._load_records([data], self.mode == 'update')
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 3805, in _load_records
    records = self.create([data['values'] for data in to_create])
  File "<decorator-gen-32>", line 2, in create
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\api.py", line 452, in _model_create_multi
    return create(self, arg)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\addons\base\models\ir_ui_view.py", line 425, in create
    return super(View, self).create(vals_list)
  File "<decorator-gen-3>", line 2, in create
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\api.py", line 452, in _model_create_multi
    return create(self, arg)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 3542, in create
    fields[0].determine_inverse(batch_recs)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\fields.py", line 1104, in determine_inverse
    getattr(records, self.inverse)()
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\addons\base\models\ir_ui_view.py", line 275, in _inverse_arch
    view.write(data)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\addons\base\models\ir_ui_view.py", line 441, in write
    return super(View, self).write(self._compute_defaults(vals))
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 3259, in write
    self._write(store_vals)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 3403, in _write
    self._validate_fields(vals)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 1106, 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 `fax_number` does not exist

Error context:
View `res.partner.inherit`
[view_id: 340, xml_id: n/a, model: res.partner, parent_id: 113]
None" while parsing file:/c:/program files (x86)/odoo 12.0/server/odoo/addons/res_partner_inherit/views/res_partner_inherit.xml:3, near
<record id="res_partner_inherit" model="ir.ui.view">
    <field name="name">res.partner.inherit</field>
    <field name="model">res.partner</field>
    <field name="inherit_id" ref="base.view_partner_form"/>
    <field name="arch" type="xml">
        <data><xpath expr="//field[@name='zip']" position="attributes">
            <attribute name="placeholder">Postal code</attribute>
            <attribute name="string">Postal_code</attribute>
        </xpath>
        <xpath expr="//field[@name='state_id']" position="attributes">
            <attribute name="placeholder">Province</attribute>
            <attribute name="string">Province</attribute>
        </xpath>
          <xpath expr="//field[@name='mobile']/.." position="after">
            <label for="fax_number"/>
            <div>
                <field name="fax_number"/>
            </div>
        </xpath>
    </data></field>
</record>

my code example

# -*- coding: utf-8 -*-

from odoo import models, fields, api


class partner(models.Model):
_inherit = 'res.partner'
Fax_number = fields.Char(required=False, string="Fax")
Modify_date = fields.datetime(required=True,string="Date Modified")
Postal_code = fields.Char(Required=False,string="Postal Code")


<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record
id="res_partner_inherit" model="ir.ui.view">
<field
name="name">res.partner.inherit</field>
<field
name="model">res.partner</field>
<field
name="inherit_id" ref="base.view_partner_form"/>
<field
name="arch" type="xml">
<xpath
expr="//field[@name='zip']" position="attributes">
<attribute
name="placeholder">Postal code</attribute>
<attribute
name="string">Postal_code</attribute>
</xpath>
<xpath
expr="//field[@name='state_id']" position="attributes">
<attribute
name="placeholder">Province</attribute>
<attribute
name="string">Province</attribute>
</xpath>
<xpath
expr="//field[@name='mobile']/.." position="after">
<label
for="fax_number"/>
<div>
<field
name="fax_number"/>
</div>
</xpath>
</field>
</record>
</odoo>



I have done this before with success but now no matter what form i try to change it comes up with the same error

Field does not exist




thanks in advance


Justin

Avatar
Discard
Best Answer

Hello Justin,

There is problem with res.partner, res.user, res.company inherit

The solution for this one is 

1) you have to open your custom module from apps list

2) add your custom fields on res.partner table

3) restart odoo server

4)  without any request upgrade  your custom module (from step1)

then it will work. in your case already you added code in python so comment it and then restart odoo server after that follow the above steps it will work 100%.

I hope your problem will solve after seeing this.

Avatar
Discard
Best Answer

Fax_number is not the same as fax_number. Watch your case.

Avatar
Discard
Author Best Answer

I changed the casing and still got the same error

even when I just install the model file without the xml it does not add the fields to my database.

# -*- coding: utf-8 -*-

from odoo import models, fields, api


class partner(models.Model):
_inherit = 'res.partner'
Fax_number = fields.Char(required=False, string="Fax")
Modify_date = fields.datetime(required=True,string="Date Modified")
Postal_code = fields.Char(Required=False,string="Postal Code")

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="res_partner_inherit" model="ir.ui.view">
<field name="name">res.partner.inherit</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='zip']" position="attributes">
<attribute name="placeholder">Postal code</attribute>
<attribute name="string">Postal_code</attribute>
</xpath>
<xpath expr="//field[@name='state_id']" position="attributes">
<attribute name="placeholder">Province</attribute>
<attribute name="string">Province</attribute>
</xpath>
<xpath expr="//field[@name='mobile']/.." position="after">
<label for="Fax_number"/>
<div>
<field name="Fax_number"/>
</div>
</xpath>
</field>
</record>
</odoo>



Odoo Server Error
Traceback (most recent call last):
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 1102, in _validate_fields
    check(self)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\addons\base\models\ir_ui_view.py", line 351, in _check_xml
    self.postprocess_and_fields(view.model, view_doc, view.id)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\addons\base\models\ir_ui_view.py", line 1092, in postprocess_and_fields
    self.raise_view_error(message, view_id)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\addons\base\models\ir_ui_view.py", line 545, in raise_view_error
    raise ValueError(message)
ValueError: Field `Fax_number` does not exist

Error context:
View `res.partner.inherit`
[view_id: 343, xml_id: n/a, model: res.partner, parent_id: 113]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\convert.py", line 757, in parse
    self._tags[rec.tag](rec, de, mode=mode)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\convert.py", line 662, in _tag_record
    record = model.with_context(rec_context)._load_records([data], self.mode == 'update')
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 3805, in _load_records
    records = self.create([data['values'] for data in to_create])
  File "<decorator-gen-32>", line 2, in create
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\api.py", line 452, in _model_create_multi
    return create(self, arg)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\addons\base\models\ir_ui_view.py", line 425, in create
    return super(View, self).create(vals_list)
  File "<decorator-gen-3>", line 2, in create
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\api.py", line 452, in _model_create_multi
    return create(self, arg)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 3542, in create
    fields[0].determine_inverse(batch_recs)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\fields.py", line 1104, in determine_inverse
    getattr(records, self.inverse)()
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\addons\base\models\ir_ui_view.py", line 275, in _inverse_arch
    view.write(data)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\addons\base\models\ir_ui_view.py", line 441, in write
    return super(View, self).write(self._compute_defaults(vals))
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 3259, in write
    self._write(store_vals)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 3403, in _write
    self._validate_fields(vals)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 1106, 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 `Fax_number` does not exist\n\nError context:\nView `res.partner.inherit`\n[view_id: 343, xml_id: n/a, model: res.partner, parent_id: 113]', None)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 654, in _handle_exception
    return super(JsonRequest, self)._handle_exception(exception)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 312, in _handle_exception
    raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\pycompat.py", line 87, in reraise
    raise value
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 696, in dispatch
    result = self._call_function(**self.params)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 344, in _call_function
    return checked_call(self.db, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\service\model.py", line 97, in wrapper
    return f(dbname, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 337, in checked_call
    result = self.endpoint(*a, **kw)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 939, in __call__
    return self.method(*args, **kw)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\http.py", line 517, in response_wrap
    response = f(*args, **kw)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\addons\web\controllers\main.py", line 966, in call_button
    action = self._call_kw(model, method, args, {})
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\addons\web\controllers\main.py", line 954, in _call_kw
    return call_kw(request.env[model], method, args, kwargs)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\api.py", line 749, in call_kw
    return _call_kw_multi(method, model, args, kwargs)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\api.py", line 736, in _call_kw_multi
    result = method(recs, *args, **kwargs)
  File "<decorator-gen-61>", line 2, in button_immediate_install
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\addons\base\models\ir_module.py", line 71, in check_and_log
    return method(self, *args, **kwargs)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\addons\base\models\ir_module.py", line 442, in button_immediate_install
    return self._button_immediate_function(type(self).button_install)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\addons\base\models\ir_module.py", line 535, in _button_immediate_function
    modules.registry.Registry.new(self._cr.dbname, update_module=True)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\registry.py", line 86, in new
    odoo.modules.load_modules(registry._db, force_demo, status, update_module)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\loading.py", line 421, in load_modules
    loaded_modules, update_module, models_to_check)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\loading.py", line 313, in load_marked_modules
    perform_checks=perform_checks, models_to_check=models_to_check
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\loading.py", line 222, in load_module_graph
    load_data(cr, idref, mode, kind='data', package=package, report=report)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\modules\loading.py", line 68, in load_data
    tools.convert_file(cr, package.name, filename, idref, mode, noupdate, kind, report)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\convert.py", line 801, in convert_file
    convert_xml_import(cr, module, fp, idref, mode, noupdate, report)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\convert.py", line 864, in convert_xml_import
    obj.parse(doc.getroot(), mode=mode)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\convert.py", line 763, in parse
    exc_info[2]
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\pycompat.py", line 86, in reraise
    raise value.with_traceback(tb)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\convert.py", line 757, in parse
    self._tags[rec.tag](rec, de, mode=mode)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\tools\convert.py", line 662, in _tag_record
    record = model.with_context(rec_context)._load_records([data], self.mode == 'update')
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 3805, in _load_records
    records = self.create([data['values'] for data in to_create])
  File "<decorator-gen-32>", line 2, in create
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\api.py", line 452, in _model_create_multi
    return create(self, arg)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\addons\base\models\ir_ui_view.py", line 425, in create
    return super(View, self).create(vals_list)
  File "<decorator-gen-3>", line 2, in create
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\api.py", line 452, in _model_create_multi
    return create(self, arg)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 3542, in create
    fields[0].determine_inverse(batch_recs)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\fields.py", line 1104, in determine_inverse
    getattr(records, self.inverse)()
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\addons\base\models\ir_ui_view.py", line 275, in _inverse_arch
    view.write(data)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\addons\base\models\ir_ui_view.py", line 441, in write
    return super(View, self).write(self._compute_defaults(vals))
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 3259, in write
    self._write(store_vals)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 3403, in _write
    self._validate_fields(vals)
  File "C:\Program Files (x86)\Odoo 12.0\server\odoo\models.py", line 1106, 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 `Fax_number` does not exist

Error context:
View `res.partner.inherit`
[view_id: 343, xml_id: n/a, model: res.partner, parent_id: 113]
None" while parsing file:/c:/program files (x86)/odoo 12.0/server/odoo/addons/res_partner_inherit/views/res_partner_inherit.xml:3, near
<record id="res_partner_inherit" model="ir.ui.view">
    <field name="name">res.partner.inherit</field>
    <field name="model">res.partner</field>
    <field name="inherit_id" ref="base.view_partner_form"/>
    <field name="arch" type="xml">
        <data><xpath expr="//field[@name='zip']" position="attributes">
            <attribute name="placeholder">Postal code</attribute>
            <attribute name="string">Postal_code</attribute>
        </xpath>
        <xpath expr="//field[@name='state_id']" position="attributes">
            <attribute name="placeholder">Province</attribute>
            <attribute name="string">Province</attribute>
        </xpath>
          <xpath expr="//field[@name='mobile']/.." position="after">
            <label for="Fax_number"/>
            <div>
                <field name="Fax_number"/>
            </div>
        </xpath>
    </data></field>
</record>

Avatar
Discard

Did you restart server and database after change made?