转自:http://blog.csdn.net/kuaileboy1989/article/details/42875497

js调用.py文件中定义的类

形式如下:

//创建product.product类

var prod_obj=new instance.web.Model("product.product")

//调用prod_obj中的方法

prod_obj.call("get_defult_data",[element_ids,self.view.model,context]).then(function(result) {

})

在创建类时还可以带参数:

var mod = new instance.web.Model("account.move.line", context, domain);

详解:

用于连接OpenERP models的类是 instance.web.Model 当你实例化它,必须以试图连接的OpenERP model 名称作为第一个参数传入构造函数。

call(name, args, kwargs) 是Model的方法,用来调用OpenERP的服务器端model中的任意方法。下面参数说明:

1)name 是要调用的model中方法的名称。

2)args 是一个传给方法的基于位置的参数列表。例:

def my_method2(self, cr, uid, a, b, c, context=None): ...

model.call("my_method", [1,2,3], ...

// 对应参数值:a=1,b=2,c=3

3)kwargs 是一个传递给函数的命名参数列表。例:

def my_method2(self, cr, uid, a, b, c, context=None): ...

model.call("my_method", [], {a: 1, b: 2, c: 3, ...

// 对应参数值:a=1,b=2,c=3

Context说明:

Context是个“神奇”参数,Web客户端在调用服务端方法时,总是传递给服务端。context是一个包含多个key的dictionary。其中一个最重要的关键是用户的语言,服务器用来翻译应用程序的所有消息。另一个是用户的时区,如果使用OpenERP位于不同国家,用来计算正确的日期和时间。

model.call("my_method", [], {context: new instance.web.CompoundContext()})

Context是所有方法中必须有的参数,因为如果我们忘记了,可能会发生不好的事情(如应用程序没有被正确翻译)。这就是为什么,当你调用model的方法时,总需要给出这样的参数。解决办法是:使用类instance.web.CompoundContext。

CompoundContext这个类用来传递用户上下文(语言,时区等)给服务器的,以及增加新的上下文key(某些model方法通过任意key添加到上下文中)。其构造函数的参数是任意数量的dictionary,或一个其他的CompoundContext实例。它将合并所有上下文信息,再发送到服务器。

openerp js调用Python类方法的更多相关文章

  1. C# winForm webBrowser页面中js调用winForm类方法(转)

      有时我们在winform项目中嵌入了网页,想通过html页面调用后台方法,如何实现呢?其实很简单,主要有三部:   1.在被调用方法类上加上[ComVisible(true)]标签,意思就是当前类 ...

  2. [Winform-WebBrowser]-在html页面中js调用winForm类方法

    在winform项目中嵌入了网页,想通过html页面调用后台方法,如何实现呢?其实很简单,主要有三部: 1.在被调用方法类上加上[ComVisible(true)]标签,意思就是当前类可以com组件的 ...

  3. Python类方法、静态方法与实例方法 -----类里面不需要实例化参数 和没带self的函数 调用此函数的方法

    来源: https://www.cnblogs.com/blackmatrix/p/5606364.html 静态方法是指类中无需实例参与即可调用的方法(不需要self参数),在调用过程中,无需将类实 ...

  4. Python类方法、静态方法与实例方法

    静态方法是指类中无需实例参与即可调用的方法(不需要self参数),在调用过程中,无需将类实例化,直接在类之后使用.号运算符调用方法. 通常情况下,静态方法使用@staticmethod装饰器来声明. ...

  5. JS调用asp.net后台方法:PageMethods

    先帮朋友宣传一下程序人生(http://www.manong123.com)的网站,里面都是开发感悟,开发人员创业,支持一下吧~ 原来是通过PageMethods来实现的. 举个列子: Default ...

  6. python类方法@classmethod与@staticmethod

    目录 python类方法@classmethod与@staticmethod 一.@classmethod 介绍 语法 举例 二.@staticmethod 介绍 语法 举例 python类方法@cl ...

  7. jenkins发布程序触发shell调用python脚本刷新akamai cdn api

    刷新cdn的流程:jenkins获取git中的代码,触发脚本推送到生产环境中(即cdn的源站) --> 触发脚本获取git工作目录的更新列表,将更新列表拼凑成带域名信息的url,写入到目录中 - ...

  8. reduce()之js与python

    最近在自学python基础,发现很多js中的内置函数python中都存在,甚至比js更加简洁,下面说一下reduce()在js和python中的用法,做个对比便于记忆. reduce()简介: red ...

  9. 对比Node.js和Python 帮你确定理想编程解决方案!

    世上没有最好的编程语言.有些编程语言比其他编程语言用于更具体的事情.比如,你可能需要移动应用程序,网络应用程序或更专业化的系统,则可能会有特定的语言.但是我们暂时假设你需要的是一个相对来说比较简单的网 ...

随机推荐

  1. [POI2010]Divine Divisor

    [POI2010]Divine Divisor 题目大意: 给你\(m(m\le600)\)个数\(a_i(a_i\le10^{18})\).\(n=\prod a_i\).现在要你找到一个最大的\( ...

  2. [HDU4729]An Easy Problem for Elfness

    [HDU4729]An Easy Problem for Elfness 题目大意: 给你一棵\(n(n\le10^5)\)个点的树,树上每条边都有容量. \(m(m\le10^5)\)次询问,每次询 ...

  3. xcode在调试时无法查看变量值

    现象:在xcode中调试程序的时候,无论是鼠标指在变量上,还是在gdb中po命令都看不到内存中变量的值. 解决办法:在Project的Build中把 Optimization Level 设置成 No ...

  4. Hiho: 连通图

    时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 还记得上次小Hi和小Ho学校被黑客攻击的事情么,那一次攻击最后造成了学校网络数据的丢失.为了避免再次出现这样的情况,学校决 ...

  5. DH密钥交换和ECDH原理(转)

    DH密钥交换和ECDH原理 时间 2013-06-24 18:50:55 CSDN博客相似文章 (0) 原文  http://blog.csdn.net/sudochen/article/detail ...

  6. 一劳永逸的搞定 flex 布局

    一劳永逸的搞定 flex 布局 寻根溯源话布局 一切都始于这样一个问题:怎样通过 CSS 简单而优雅的实现水平.垂直同时居中.记得刚开始学习 CSS 的时候,看到 float 属性不由得感觉眼前一亮, ...

  7. Virtualbox+ubuntu设置共享文件夹

    转:http://www.juwends.com/tech/unix_series/virtualbox-ubuntu-sharefolder.html 1. 进入系统,安装增强功能,安装完关闭系统. ...

  8. nio教程二

    要使用Selector,得向Selector注册Channel,然后调用它的select()方法.这个方法会一直阻塞到某个注册的通道有事件就绪.一旦这个方法返回,线程就可以处理这些事件,事件的例子有如 ...

  9. 【mybatis】mybatis中批量插入 批量更新 batch 进行insert 和 update,或者切割LIst进行批量操作

    ================================================================== 分别展示 mybatis 批量新增  和 批量更新   的操作: ...

  10. Android内存优化5 了解java GC 垃圾回收机制3

    引言 接App优化之内存优化(序), 作为App优化系列中内存优化的一个小部分. 由于内存相关知识比较生涩, 内存优化中使用到的相关工具, 也有很多专有名词. 对Java内存管理, GC, Andro ...