z z p

odoo12

odoo 总结要点

1. compute 计算方法中不要 使用 write 方法,使用无效

2. sql 中 
不使用
    sql = "select * from table where id in (%s)" 
    cr.execute(sql % "1,2,3")

    改为
    sql = "select * from table where id = any(%s)" 
    cr.execute(sql, [[1,2,3]])  效率高

3.装饰器:
    api.model 不会对 传递过去的第一个参数解析为 后面 self 的值,故后面的 self 对象为空
    api.multi 会解析 第一个参数 例如 [17] 为 self 对象
    api.one 会对函数返回值包装个列表返回,使得老版本客户端无法解析返回值报错

4.sql 老版本中的 timezone --> TIME ZONE  

5.Many2one 中若使用了 related 关联字段,不会存储与数据库中



python odoo-bin -c odoo.conf -u clothes

代码要点 记录

规范
	1.防注入,不能使用字符串拼接sql
	2.加上注释
	3.适当的封装代码
	4.代码语句不要过长
	5.文件命名规则要规范
	6.类的命名规范

命名规则
	one2many  _ids
	many2one  _id
	many2many _ids

pg 导入数据库(到pg bin 目录下 运行)	 D:\postgresSQL\bin
	psql -d xzti -U odoo12 -f C:\Users\Libai\Desktop\work-file\project\xzti\xzti.sql
	
odoo 数据库中 存储的 时间字段 和 北京时间 相差八个小时
老版本的odoo9 转换 odoo12
	company_id = fields.related('warehouse_id', 'company_id', type='many2one', relation='res.company', string=u'所属公司',store=True)
	改为 -->
	company_id = fields.Many2one('res.company', u'所属公司', related='warehouse_id.company_id', store=True)

odoo12 模块继承修改 ir.needaction_mixin --> mail.activity.mixin

posted @ 2020-11-14 11:29  又摘桃花换酒钱  阅读(158)  评论(0)    收藏  举报