重载createInstance(cls, pool, module, cr)时,我测试了一下改变_sql_contraints,但改变不了natrr['_sql_contraints']的值,就为了这个搞了好长时间,后来不知怎样出现了提示信息与本来不一样了.太迟了就没有再试,就把设想发在网上了
zjxplq
@zjxplq
Best posts made by zjxplq
Latest posts made by zjxplq
-
RE: 关于系统的 _constraints 如何删除,或者继承?
-
RE: 关于系统的 _constraints 如何删除,或者继承?
从createInstance(cls, pool, module, cr)源码看,为了删除现有的系统的_constraints,可以定义一个与要删除的_constrains同名的约束,且这个约束会一定满足就行。
-
RE: 关于系统的 _constraints 如何删除,或者继承?
可能在自己的osv类中重载createInstance(cls, pool, module, cr)可能可以实现,从源码上看是在此处真正动态创建类的,且实例化的.我试了一下_sql_contraints,处理了父类继承过来的约束后,违反约束时出现的提示与父类不一样了。不过_constraints没有真正试过
-
显示记录创建者姓名
有时创建一个记录时需要把创建者的姓名显示出来,下面说明操作方法:
为了能够显示创建者姓名,需要在_columns中显式的定义create_uid,代码如下:
class demo(osv.osv):
_name = 'demo.demo'
_description = doc
_columns = {
'create_uid': fields.many2one('res.users', 'Creator', readonly=True),
'name': fields.char('名称',size=20, required=True),
}
demo()
然后在视图中如下定义:
<record model="ir.ui.view" id="demo_demo_tree_view">
<field name="name">demo.demo.tree</field>
<field name="model">demo.demo</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="string">
<field name="name" select="1"/>
<field name="create_uid" readonly="1"/>
</tree>
</field>
</record>
<record model="ir.ui.view" id="demo_demo_form_view">
<field name="name">demo.demo.form</field>
<field name="model">demo.demo</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="string">
<field name="name"/>
</form>
</field>
</record>
如果修改后osv与视图后,需重启服务器 -
修改search limit的默认值
为了修改search limit的默认值可以在postgresql运行:
UPDATE ir_act_window SET "limit" = 500 WHERE "limit" = 80;
来搞定修改 -
RE: 发处女贴庆祝!使用Eclipse+PyDev 断点调试OE的Server端成功
可以使用命令行来产生conf文件,这样就不必再下载all one,再安装的麻烦了,也不要去手工改路径了
-
Openerp6.02下数据库备份
参考了贴子http://www.openerp.com/forum/topic26215.html终于完成数据库的备份操作,现在总结如下:
在windows下完成备份:
1.备份时密码是openerp超级管理员的密码,而不是postgresql的超级管理员密码
2.还必须在openerp-server.conf中设置pg_path = c:....\postgresql\bin
3.重启openerp服务器 -
创建openerp server的配置文件
在使用openerp-server源码来运行时,需要配置文件,在教程Tutorial on Setting up OpenERP 6.0.2 Source Code in Eclipse under windows platform中,使用先安装all in one,然后copy openerp-server的配置文件,这样的方式虽然可行,但太麻烦了。看到官方教程openobject-install中使用命令行来生成配置文件,现在把它译在这里
1、进入命令行方式,转到openerp-server的bin文件夹中
2、输入命令:
python openerp-server.py -d <db_name> -r <db_user> -w <db_password> --db_host=localhost --db_port=5432 --logfile="<logfile>" --timezone=Asia/Shanghai -s --stop-after-init
即可在当前文件夹中生成配置文件。
以后就可以使用python openerp-server.py来运行服务器程序了。
命令行参数解译如下:
-d <db_name> 数据库名
-r <db_user> 数据库管理员名
-w <db_password> 数据库管理员密码
--db_host 数据库服务器地址
--db_port 数据库服务器端口
--timezone 时区
-s 保存当前openerp server的配置
-stop-after-init 初始化后停止erp服务器