2016-12-28 191 views
1

我試圖在odoo 9.0上開發我的第一個模塊,它遵循odoo的文檔和開發人員手冊,使用「TO-DO Tasks」示例,但是當我嘗試添加一個功能到我的一個按鈕,在手冊中說我必須將這段代碼添加到我的類文件(todo_model.py)。NameError:未定義名稱'api'

@api.one 
def do_toggle_done(self): 
    self.is_done = not self.is_done 
    return True 

但是,當我更新Odoo模塊,我得到這個消息:

NameError: name 'api' is not defined

這是我todo_model.py

# -*- encoding utf-8 -*- 
from openerp import models,fields 

class TodoTask(models.Model): 
    _name = "todo.task" 
    name = fields.Char('Description', required=True) 
    is_done = fields.Boolean('Done?') 
    active = fields.Boolean('Active?', default=True) 

    @api.one 
    def do_toggle_done(self): 
     self.is_done = not self.is_done 
     return True 

最好的問候。

+1

我已經修正的壓痕。請檢查它是否正確。 – MYGz

+0

爲什麼你應該定義'api'的原因是什麼?你認爲它會被定義在哪裏?我認爲沒有理由相信應該根據您的代碼來定義它。 – skyking

+0

它的工作!,我的功能仍然無法正常工作,但我沒有現在的錯誤,我可以繼續下面的手冊謝謝很多@MYGz – NMenam

回答

4

你忘了導入API

嘗試以下操作:

from openerp import api,models,fields 
+0

是的,我已經添加並且它的工作,謝謝澄清。 – NMenam