向hr.employees添加字段

问题描述 投票:1回答:1

尝试将字段添加到模型hr.employees(address_home_id之后的cmp)

这是我的代码。

__manifest__.朋友

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

热水_HR.朋友

 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)))

我究竟做错了什么 ?

python xml inheritance odoo odoo-10
1个回答
1
投票

确保导入res_hr.py。通常模块/应用程序看起来像

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

__init__.py应该导入models,而models/__init__.py应该导入model1model2。准备好进行模块安装/更新时重新启动服务器,或者使用开发模式让Odoo自己处理它。

© www.soinside.com 2019 - 2024. All rights reserved.