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

Answer up/down vote 기호 옆에있는 체크 표시된 기호로 답을 수락 할 수 있습니다. –

관련 문제