首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >odoo 9-字段不存在

odoo 9-字段不存在
EN

Stack Overflow用户
提问于 2015-12-28 09:00:45
回答 1查看 6.1K关注 0票数 1

按照文档Odoo9.0,我创建了一个新模块,创建了一个新的模型,如下所示:

models.py

代码语言:javascript
复制
# -*- coding: utf-8 -*-

from openerp import models, fields, api

class payModel(models.Model):
    _name = 'payModel.payModel'
    _inherit = 'hr.employee'

    num_CN = fields.Char("CN°")

我的形式观点是:

代码语言:javascript
复制
<record model="ir.ui.view" id="payModel_form_view">
    <field name="name">payModel.num_CN</field>
    <field name="model">hr.employee</field>
    <field name="inherit_id" ref="hr.view_employee_form"/>
    <field name="arch" type="xml">
        <data>
            <xpath expr="//field[@name='bank_account_id']" position="after">
                <field name="num_CN"/>
            </xpath>
        </data>
    </field>
</record>

我在“设置->技术->数据库结构->模型”中验证了该模型和字段是成功添加的,但我得到了以下错误:

num_CN不存在

我尝试通过开发人员模式在employee视图中添加这个字段,但是我得到了相同的错误!

有人能帮我找不到什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-20 15:29:12

首先-关于你的模特。

payModel_payModel.意味着当您安装模块时,Odoo将创建名为_name = 'payModel.payModel'的新表。在此之后,系统中将是您的自定义对象- payModel.payModel。

hr_employee(Odoo表示展开表_inherit = 'hr.employee'对象- hr.employee)。

如果要创建新表并使用新对象,则需要删除_inherit = 'hr.employee'。如果您需要扩展hr.employee(例如,添加新字段或向模型添加一些逻辑等)。您需要删除_name = 'payModel.payModel'

第二个问题可以是依赖关系。如果您的模块依赖于hr模块,则需要在模块的中标记这一点:

代码语言:javascript
复制
'depends': ['hr'],

还有一件事。确保models.py是在模块的__init__.py中导入的。重新启动openerp-在.py文件更改后更新模块之前重新启动服务器。Odoo在没有重新启动的情况下不会看到.py文件中的更改。

希望这能帮到你。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34490479

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档