将字段添加到 hr.employees

Add fields to hr.employees

正在尝试向模型添加字段 hr.employees(cmpaddress_home_id 之后)

这是我的代码。

__manifest__.py

'name': 'Add Fields to HR module',
'description': 'Add Fields to HR Module',
'depends': ['base','hr'],
'data':[
  'views/res_hr_view.xml',  
],

res_hr.py

 from odoo import models, fields, api 
 class ResHR(models.Model):
    _inherit = 'hr'
    cmp = fields.Char()

res_hr_view.xml

 <?xml version="1.0"?>
  <odoo>
    <record id="res_hr_form_inherited"   
     model="ir.ui.view"> 
     <field name="name">Add Fields HR Employees</field> 
     <field name="model">hr.employee</field> 
     <field name="inherit_id" ref="hr.view_employee_form"/> 
     <field name="arch" type="xml"> 
     <field name="address_home_id" position="after"> 
       <field name="cmp" string="C.M.P"/>
       </field>
    </field>
   </record>

但在我尝试安装时显示下一个错误。

   Field 'cmp' does not exist error on inherited view.
   > /home/odoo/odoo-dev/odoo/odoo/models.py(1083)_validate_fields()
   -> raise ValidationError("%s\n\n%s" % (_("Error while validating 
   constraint"), tools.ustr(e)))

我做错了什么?

确保您的 res_hr.py 已导入。通常 module/app 看起来像

models/
|-- __init__.py
|-- model1.py
|-- model2.py
views/
|-- model1_views.xml
|-- model2_views.xml
__init__.py
__manifest__.py

__init__.py 应导入 modelsmodels/__init__.py 应导入 model1model2。准备好模块时重启服务器 installation/update 或使用开发模式让 Odoo 自行处理。