NameError:未定义名称'api'

时间:2016-12-28 14:14:47

标签: python openerp odoo-9

我试图在odoo 9.0上开发我的第一个模块,遵循文档和odoo的开发人员手册,使用“TO-DO Tasks”示例,但是当我尝试向我的某个按钮添加功能时遇到问题,在手册中说我必须将此代码添加到我的类文件(todo_model.py)。

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

但是当我在Odoo上更新模块时,我收到了这条消息:

  

NameError:名称'api'未定义

这是我的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 个答案:

答案 0 :(得分:4)

您忘记导入 api

尝试以下操作:

from openerp import api,models,fields