1

我为 OpenERP 7.0 创建了一个新模块,它基本上是调度程序操作的占位符。

现在当我用这个创建我的方法时:

def _method_name(self, cr, uid):

它工作得很好。但我需要一些额外的论据。我用这个:

def _method_name(self, cr, uid, arg1, arg2, arg3, arg4):

这应该有效,对吧?坦率地说,我不知道。另外我不知道在 Openerp 的调度程序操作的参数行中写什么。我还需要传递 self、cr、uid 吗?还是通过我自己的就足够了?

4

1 回答 1

3

self、cr、uid 参数说明:

self - 这是 Python 的概念,python 中的“self”是指实例变量。它是对当前对象的引用。相当于其他语言中的“this”。

cr - openerp 中的当前数据库光标,在 openerp 中用于搜索、写入等内置方法。我们需要将此参数传递给在其架构中需要它的内置方法。

uid - 登录用户 ID,管理规则和访问权限所需。

  • 自我是必需的

  • 对于普通函数 cr 和 uid 是可选参数。

  • 但根据 ir.cron 对象模式,它需要调度程序方法中的 cr 和 uid 参数(在版本 6 中不确定版本 7)

您可以使用变量或位置参数或关键字参数添加额外的参数。

如果可能,使用默认值定义变量。

例如:

def run_scheduler(self, cr, uid, arg1=False, arg2=False, context=None, kargs*):
    #your code here

希望,它可以帮助。

于 2013-02-04T11:24:14.090 回答