2016-12-17 80 views
1

我已经添加了一个额外的笔记本选项卡通过一个小的外部模块,'Project.task',当我安装时工作。Odoo 8通过自定义模块添加笔记本选项卡给'KeyError:'

我的问题是,如果我在得到'KeyError'后尝试安装任何模块。

如果我从'addons'目录中删除我的自定义模块重新启动服务器,每件事情都会再次发生。

因此,它可以让我安装它没有任何错误,但不会让我升级它或安装任何其他模块。

任何指针将不胜感激。

task_eval.py

from openerp import models, fields 
class task_evaluation(models.Model): 

    _inherit = 'project.task' 

task_eval.xml

<?xml version="1.0" encoding="UTF-8"?> 
<openerp> 
    <data> 
     <record model="ir.ui.view" id="modify_view_task"> 
     <field name="name">project.task.form</field> 
     <field name="model">project.task</field> 
     <field name="inherit_id" ref="project.view_task_form2"/> 
     <field name="arch" type="xml"> 

      <page string="Extra Info" position="after"> 
       <page name="task_eval" string="Task Evaluation"> 
       </page> 
      </page> 

     </field> 
     </record> 
    </data> 
</openerp> 

因此,工程安装它,但如果以后我更新或重新安装另一个模块我得到的;

Odoo Server Error 
Traceback (most recent call last): 
    File "C:\Odoo_8\server\.\openerp\http.py", line 544, in _handle_exception 
    File "C:\Odoo_8\server\.\openerp\http.py", line 581, in dispatch 
    File "C:\Odoo_8\server\.\openerp\http.py", line 317, in _call_function 
    File "C:\Odoo_8\server\.\openerp\service\model.py", line 118, in wrapper 
    File "C:\Odoo_8\server\.\openerp\http.py", line 314, in checked_call 
    File "C:\Odoo_8\server\.\openerp\http.py", line 810, in __call__ 
    File "C:\Odoo_8\server\.\openerp\http.py", line 410, in response_wrap 
    File "C:\Odoo_8\server\openerp\addons\web\controllers\main.py", line 948, in call_button 
    File "C:\Odoo_8\server\openerp\addons\web\controllers\main.py", line 936, in _call_kw 
    File "C:\Odoo_8\server\.\openerp\api.py", line 268, in wrapper 
    File "C:\Odoo_8\server\openerp\addons\base\module\module.py", line 534, in button_immediate_upgrade 
    File "C:\Odoo_8\server\.\openerp\api.py", line 268, in wrapper 
    File "C:\Odoo_8\server\openerp\addons\base\module\module.py", line 495, in _button_immediate_function 
    File "C:\Odoo_8\server\.\openerp\modules\registry.py", line 370, in new 
    File "C:\Odoo_8\server\.\openerp\modules\loading.py", line 351, in load_modules 
    File "C:\Odoo_8\server\.\openerp\modules\loading.py", line 255, in load_marked_modules 
    File "C:\Odoo_8\server\.\openerp\modules\loading.py", line 152, in load_module_graph 
    File "C:\Odoo_8\server\.\openerp\modules\registry.py", line 163, in load 
    File "C:\Odoo_8\server\.\openerp\models.py", line 595, in _build_model 
    File "C:\Odoo_8\server\.\openerp\modules\registry.py", line 102, in __getitem__ 
KeyError: 'project.task' 

我很明显缺少一些简单的东西。

回答

2

可能是你忘了在你的依赖中添加项目模块。

每当你做了继承,然后确保安装模块在哪个类/对象声明。

提高你的__openerp__文件有以下几点:

'depends': [ 
    ...., 
    ...., 
    ...., 
    'project' 
] 

现在重启Odoo服务器和升级模块。

+0

谢谢你,对,你是对的。太忙了,看着我的xml思考我错过了什么,没有注意到__openerp__中的错误。 –

+0

不要自己停止冲浪:) –

+0

你可以接受答复附近的选中符号答案向上/向下的投票符号。 –

相关问题