带参数的Openerp调度程序方法:如何创建它们



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

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

def _method_name(self, cr, uid):

它工作正常。但我需要一些额外的论据。我用了这个:

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

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

self,

cr, uid 参数的解释:

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

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

希望,它可以有所帮助。

最新更新