openerp js调用Python类方法

转自:http://odoodevelop.lofter.com/post/1cd05c40_41e42ff



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实例。它将合并所有上下文信息,再发送到服务器。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OpenERP(现已更名为Odoo)是一款开源的企业管理软件,CentOS是一款流行的Linux操作系统。在CentOS上部署OpenERP需要进行以下步骤: 1. 安装依赖项 在终端中运行以下命令,以安装OpenERP的依赖项: ``` sudo yum install -y git python3-devel postgresql-server postgresql-contrib postgresql-devel gcc-c++ libxslt-devel libxml2-devel libevent-devel libsasl2-devel openldap-devel libjpeg-devel freetype-devel ``` 2. 安装和配置PostgreSQL数据库 运行以下命令,以安装PostgreSQL数据库: ``` sudo yum install -y postgresql-server ``` 安装完成后,运行以下命令来启动PostgreSQL并设置开机自启动: ``` sudo systemctl enable postgresql sudo systemctl start postgresql ``` 接下来,设置PostgreSQL管理员密码: ``` sudo su - postgres psql -c "alter user postgres with password 'your_password';" exit ``` 3. 下载和安装OpenERP 在终端中运行以下命令,以下载和安装OpenERP: ``` cd ~ git clone https://www.github.com/odoo/odoo --depth 1 --branch 14.0 --single-branch cd odoo sudo pip3 install -r requirements.txt sudo pip3 install num2words ``` 4. 配置OpenERP 在终端中运行以下命令,以创建OpenERP的配置文件: ``` sudo cp ~/odoo/debian/odoo.conf /etc/odoo.conf sudo chown odoo: /etc/odoo.conf sudo chmod 640 /etc/odoo.conf ``` 接下来,编辑OpenERP的配置文件: ``` sudo nano /etc/odoo.conf ``` 将以下内容添加到文件末尾: ``` [options] admin_passwd = your_admin_password db_host = False db_port = False db_user = odoo db_password = False addons_path = /home/your_username/odoo/addons,/home/your_username/odoo/odoo/addons ``` 将"your_admin_password"替换为您想要设置的管理员密码,将"your_username"替换为您的用户名。 5. 启动OpenERP 在终端中运行以下命令,以启动OpenERP: ``` ~/odoo/odoo-bin -c /etc/odoo.conf ``` 6. 防火墙设置 如果您使用了CentOS 7或更高版本,请运行以下命令打开HTTP和HTTPS端口: ``` sudo firewall-cmd --add-port=80/tcp --permanent sudo firewall-cmd --add-port=443/tcp --permanent sudo firewall-cmd --reload ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值