【问题标题】:Error details: Field `af` does not exist错误详细信息:字段“af”不存在
【发布时间】:2016-09-03 20:10:46
【问题描述】:

我收到此错误 2 天。 我已阅读有关相同错误的任何链接,但每次都没有效果。

我正在尝试简单的继承 这是我的employee.py 文件

class Employee(models.Model):
    _inherit = 'hr.employee'
    _description = "Inherited modules"

    af = fields.Char(string="AF")

这是我的employee.xml 文件

<openerp>
    <data>
        <record id="hr_employee_contact_form_view" model="ir.ui.view">
            <field name="name">hr.employee</field>
            <field name="model">hr.employee</field>
            <field name="inherit_id" ref="hr.view_employee_form" />
            <field name="arch" type="xml">
                <notebook position="inside">
                    <page string="Contact">
                        <group>
                            <field name="af"/>
                        </group>
                    </page>
                </notebook>
            </field>
        </record>

        <record model="ir.actions.act_window" id="employee_list_action">
            <field name="name">Contacts</field>
            <field name="res_model">hr.employee</field>
            <field name="view_mode">tree,form</field>
        </record>
        <menuitem id="configuration_menu" name="Configuration"
                  parent="main_ayda_project_menu"/>
        <menuitem id="contact_menu" name="Employee"
                  parent="configuration_menu"
                  action="employee_list_action"/>
    </data>
</openerp>

这是我的__openerp__.py 文件

# -*- coding: utf-8 -*-
{
    'name': "Smart Gateway",

    'summary': """ Smart Gateway """,

    'description': """
        Long description of module's purpose
    """,

    'author': "My Company",
    'website': "http://www.yourcompany.com",

    'category': 'Uncategorized',
    'version': '0.1',

    'depends': ['base',
                'hr'],

    'data': [
        # 'security/ir.model.access.csv',
        # 'views/views.xml',
        'views/templates.xml',
        'views/contact_master/contact.xml',
        'views/employee.xml'
    ],
    # only loaded in demonstration mode
    'demo': [
        'demo/demo.xml',
    ],
}

这是我的__init__.py 文件

from . import controllers
from . import models

我已经处理了依赖项,但仍然出现此错误。

ParseError: "Invalid view definition

Error details:
Field `af` does not exist

Error context:
View `hr.employee`
[view_id: 1859, xml_id: n/a, model: hr.employee, parent_id: 352]
None" while parsing file:///C:/Odoo%209.0-20160127/server/openerp/addons/ayda_project/views/employee.xml:3, near
<record id="hr_employee_contact_form_view" model="ir.ui.view">
            <field name="name">hr.employee</field>
            <field name="model">hr.employee</field>
            <field name="inherit_id" ref="hr.view_employee_form"/>
            <field name="arch" type="xml">
                <notebook position="inside">
                    <page string="Contact">
                        <group>
                            <field name="af"/>
                        </group>
                    </page>
                </notebook>
            </field>
        </record>

【问题讨论】:

  • 我怀疑你没有正确导入你的模块...向我们展示你的模块的布局和它的文件,运行tree your_module。我们需要它,除非所有答案都只是猜测

标签: python orm openerp odoo-8 odoo-9


【解决方案1】:

将您的 employee.py 文件添加到同一目录中的 __init__.py 文件中。 如果它与您的其他 .py 文件位于同一目录中。

from . import controllers
from . import models
from . import employee

更新你的插件

【讨论】:

  • 问题已解决。问可能很愚蠢,但我必须学习,所以我问,你怎么知道我们必须为此导入员工,为什么不 hr。因为我看到一些老问题有同样的问题,他们在那里使用了 hr 模块。
  • 您必须导入员工的原因是您在文件employee.py 中进行了更改。但是 odoo 在读取您的文件之前不会知道它。这就是为什么它必须被导入。如果您不导入它,您的文件甚至不会被 odoo 注意到,这就是它不知道您添加的字段的原因。如果对您有用,请将我的答案标记为正确。
  • 得到了解释。谢谢你,菲利普,标记它是正确的。
【解决方案2】:

models 文件夹内将from . import employee 添加到__init__.py

models/__init__.py文件:

...
from . import employee

【讨论】:

  • 我有另一个关于制作自己的模块的问题。所以我应该在这里问它还是创建一个新线程。因为对于那个东西,我也找不到任何有用的资源。
  • @user3481574 我建议你提出一个新问题。
猜你喜欢
  • 1970-01-01
  • 2016-12-18
  • 1970-01-01
  • 2020-12-06
  • 2019-01-08
  • 2014-07-23
  • 2019-09-05
  • 2011-12-01
  • 1970-01-01
相关资源
最近更新 更多