NameError: name 'api' is not defined

NameError: name 'api' is not defined

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

@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

此致。

您忘记导入 api

尝试以下操作:

from openerp import api,models,fields