如何在openerp(odoo)中继承hr.employee模块

时间:2015-05-06 03:52:11

标签: openerp

这是我的代码,我收到此错误。我试图继承hr.employee,在hr.employee模型中,我添加了四个自定义字段,其中一个是' x_doj'

    ParseError: "ValidateError
    Field(s) `arch` failed against a constraint: Invalid view definition

    Error details:
    Field `x_doj` does not exist

    Error context:
    View `hr.employee`
    [view_id: 939, xml_id: n/a, model: hr.employee, parent_id: 813]" while parsing /home/administrator/Sub_Station/apps/odoo/lib/odoo-8.0_a2115ef-py2.7.egg/openerp/addons/hredit1/hredit_view.xml:5, near
    <record id="hr_inheritedview_employee_form1" model="ir.ui.view">
                <field name="name">hr.employee</field>
                <field name="model">hr.employee</field>
                <field name="type">form</field>
                <field name="inherit_id" ref="hr.view_employee_form"/>
                <field name="arch" type="xml">
                    <notebook position="inside">
                        <page string="Empl Resource">   
                            <field name="deal" nolabel="1"/> 
                        </page>
                    </notebook>
                </field>


            </record>

my hredit.py 
from openerp.osv import fields, osv

    class empl(osv.Model):
        _inherit='hr.employee'
        _columns = {
            'deal':fields.char('done',size=20)
        }

    empl()





this my xml code hredit.xml

<?xml version="1.0" encoding="utf-8"?>

<openerp>
    <data>
        <record id="hr_inheritedview_employee_form1" model="ir.ui.view">
            <field name="name">hr.employee</field>
            <field name="model">hr.employee</field>
            <field name="type">form</field>
            <field name="inherit_id" ref="hr.view_employee_form"/>
            <field name="arch" type="xml">
                <field name="work_phone" position="after">  
                        <field name="deal" /> 
                    </field>

            </field>


        </record>


    </data>
</openerp>
hr.employee.form中的

也尝试了

我的 openerp .py文件

{
    'name': 'Hr Edit',
    'version':'1.0',
    'description': """
        Hr Edit
        - Epics
    """,
    'author': 'Shridhar',
    'depends': ['base_setup'],
    'data': ['hredit_view.xml',],
    'installable': True,
    'auto_install': False,
}

并在 init.py 中我已完成导入hredit

2 个答案:

答案 0 :(得分:1)

你好Shridhar Ivani,

在这种情况下,您必须在 __ openeerp __。py 文件中设置相关模块名称。

听到hr.employee模型来自人力资源模块,但您还没有将依赖模块设置为 __ openerp __。py 文件中的hr

您可以在 __ openerp __。py 文件中添加来自依赖的hr,并升级您的模块列表以及模块,然后每件事情都能正常工作。

我希望这对你有用..:)

答案 1 :(得分:0)

我遇到了同样的问题并在 openerp.py

中解决

这是我的解决方案:

# -*- coding: utf-8 -*-
{
    'name': 'nombre de modulo',

    'summary': """

        """,

    'description': """
    descripcion
    """,

    'author': '--',
    'website': "http://www.yoursite.com",
    'category': '--',
    'version': '0.1',
    **'depends': ['base', 'hr', 'hr_expense'],**
    'data': [
        'views/gi_hr_expense_view.xml',
    ],

    'installable': True,
    'auto_install': False,
}