2016-12-17 87 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

你可以接受答覆附近的選中符號答案向上/向下的投票符號。 –

相關問題