首页 文章

Odoo [OpenERP]自定义模块KeyError问题

提问于
浏览
1

我试图在odoo中添加我自己的定制模块用于测试目的 . 但是,我不断得到以下错误 . 以下是我的代码的样子 . 请帮忙

_init.py

import select_custom

select_custom.py

from openerp.osv import osv, fields

class select_custom(osv.Model):
    _inherit = 'select.custom'

    _columns = {
        'productChoose' : fields.many2one('hr.employee', 'Product Choose')
        }

select_custom_view.xml

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>
        <record id="view_custom_tick_box_form" model="ir.ui.view">
            <field name="name">res.custom.tick.form.inherit</field>
            <field name="model">select.custom</field>
            <field name="inherit_id" ref="purchase.purchase_order_form"/>
            <field name="arch" type="xml">
                <field name="date_order" position="after">
                    <field name="productChoose"/>
                </field>
            </field>
        </record>
    </data>
</openerp>

我收到以下错误:

Traceback (most recent call last):
  File "C:\Program Files (x86)\Odoo 8.0-20150621\server\.\openerp\http.py", line 537, in _handle_exception
  File "C:\Program Files (x86)\Odoo 8.0-20150621\server\.\openerp\http.py", line 574, in dispatch
  File "C:\Program Files (x86)\Odoo 8.0-20150621\server\.\openerp\http.py", line 310, in _call_function
  File "C:\Program Files (x86)\Odoo 8.0-20150621\server\.\openerp\service\model.py", line 113, in wrapper
  File "C:\Program Files (x86)\Odoo 8.0-20150621\server\.\openerp\http.py", line 307, in checked_call
  File "C:\Program Files (x86)\Odoo 8.0-20150621\server\.\openerp\http.py", line 803, in __call__
  File "C:\Program Files (x86)\Odoo 8.0-20150621\server\.\openerp\http.py", line 403, in response_wrap
  File "C:\Program Files (x86)\Odoo 8.0-20150621\server\openerp\addons\web\controllers\main.py", line 948, in call_button
  File "C:\Program Files (x86)\Odoo 8.0-20150621\server\openerp\addons\web\controllers\main.py", line 936, in _call_kw
  File "C:\Program Files (x86)\Odoo 8.0-20150621\server\.\openerp\api.py", line 241, in wrapper
  File "C:\Program Files (x86)\Odoo 8.0-20150621\server\openerp\addons\base\module\module.py", line 450, in button_immediate_install
  File "C:\Program Files (x86)\Odoo 8.0-20150621\server\.\openerp\api.py", line 241, in wrapper
  File "C:\Program Files (x86)\Odoo 8.0-20150621\server\openerp\addons\base\module\module.py", line 498, in _button_immediate_function
  File "C:\Program Files (x86)\Odoo 8.0-20150621\server\.\openerp\modules\registry.py", line 370, in new
  File "C:\Program Files (x86)\Odoo 8.0-20150621\server\.\openerp\modules\loading.py", line 355, in load_modules
  File "C:\Program Files (x86)\Odoo 8.0-20150621\server\.\openerp\modules\loading.py", line 255, in load_marked_modules
  File "C:\Program Files (x86)\Odoo 8.0-20150621\server\.\openerp\modules\loading.py", line 152, in load_module_graph
  File "C:\Program Files (x86)\Odoo 8.0-20150621\server\.\openerp\modules\registry.py", line 163, in load
  File "C:\Program Files (x86)\Odoo 8.0-20150621\server\.\openerp\models.py", line 595, in _build_model
  File "C:\Program Files (x86)\Odoo 8.0-20150621\server\.\openerp\modules\registry.py", line 102, in __getitem__
KeyError: 'select.custom'

2 回答

  • 3

    您使用_inherit ='select.custom'继承现有对象,因此您必须确保对象表已经加载到内存中 .

    使用_name而不是_inherit来加载该表 .

    最好成绩,

  • 3

    您的错误与文件名有关 . 除了您提供的文件名之外,一切都很好看 . 您必须提供文件名 __init__.py 而不是 __init.py

    在此之后,如果您的问题保持不变,请检查您继承的模块 . 关于继承可能存在一些问题 .

    除此之外,您的 .xml 文件看起来不错 . 不需要改变 .

相关问题