CN Blog:
https://www.cnblogs.com/Firstwing/p/14088500.html
#http://blog.sina.com.cn/s/blog_bc7dee2d0102w7dd.html
# [转载]odoo中的图标
# [转载]odoo ICON
#https://stackoverflow.com/questions/35887597/model-not-found-product-product
# Error: model not found product.template
# 要修改系统表depends必须添加'base'
#https://www.cnblogs.com/wanxiangIT/p/10808197.html
# odoo api介绍
#https://www.cnblogs.com/ygj0930/p/10826222.html
# Odoo模型的内置方法(可按需重写)
#https://zhuanlan.zhihu.com/p/29521258?utm_source=wechat_session
# Odoo仓库各类知识详解
#http://www.voidcn.com/article/p-athggojc-byt.html
# Odoo中有和没有sudo()之间的区别
# 在调用create()之前调用sudo()(没有参数)将返回带有更新环境且设置了admin(超级用户)用户ID的记录集.这意味着对记录集的进一步方法调用将使用admin用户,因此绕过访问权限/记录规则检查
#https://blog.csdn.net/qq_29654325/article/details/88693035?biz_id=102&utm_term=ODOO%20view%20edit&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-88693035&spm=1018.2118.3001.4187
# Odoo-页面跳转-直接为编辑状态
#https://www.cnblogs.com/ygj0930/p/10826118.html
# Odoo中的模型详解
#https://blog.csdn.net/sinat_23931991/article/details/86698868?biz_id=102&utm_term=odoo%20models.Model&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-86698868&spm=1018.2118.3001.4187
# Odoo12 Model属性简介
#https://blog.csdn.net/qq_29654325/article/details/78016974?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160232010919725271752818%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=160232010919725271752818&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v28_p-3-78016974.pc_first_rank_v2_rank_v28_p&utm_term=odoo+models.Model&spm=1018.2118.3001.4187
# AbstractModel
# AbstractModel = BaseModel;AbstractModel 是一个抽象模型不会在数据库创建对应表,Model可以继承AbstractModel,AbstractModel为多个Model提供相同属性的统一声明
# Model
# Model继承自AbstractModel,但是Model的 _auto=True , _abstract = True ;
# Model的模型对象在模块安装或升级的时候会自动在数据库中创建相应的数据表
#TransientModel
# TransientModel继承自Model,但是TransientModel的_transient = True,TransientModel是一种特殊的Model,TransientModel对应的数据表中的数据系统会定时的清理;TransientModel的数据只能做临时数据使用,一般向导对象模型会声明成TransientModel
#https://www.cnblogs.com/hellojesson/p/12143456.html
# odoo开发笔记 -- 如何隐藏视图界面的创建、导入、导出、复制、删除
#https://blog.csdn.net/qq_42832858/article/details/87430861
# odoo重写删除方法
#https://blog.csdn.net/qq_39259140/article/details/95455596
# Odoo中@api.multi、@api.mode、@api.one等修饰器
#https://blog.csdn.net/wangkun__/article/details/52593499?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160231910419195240401813%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=160231910419195240401813&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~baidu_landing_v2~default-1-52593499.pc_first_rank_v2_rank_v28_p&utm_term=odoo+%E6%B7%BB%E5%8A%A0%E8%AE%B0%E5%BD%95&spm=1018.2118.3001.4187
# Create record
#https://blog.csdn.net/a631278993/article/details/102259799?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160232807119195246641484%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=160232807119195246641484&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v28_p-1-102259799.pc_first_rank_v2_rank_v28_p&utm_term=ODOO+ENV+%E6%90%9C%E7%B4%A2%E8%AE%B0%E5%BD%95&spm=1018.2118.3001.4187
# Odoo中的env详解
#https://blog.csdn.net/sinat_23931991/article/details/86715272?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160232780519725255543397%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=160232780519725255543397&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v28_p-1-86715272.pc_first_rank_v2_rank_v28_p&utm_term=odoo+search&spm=1018.2118.3001.4187
# Odoo12 search、name_search、search_count、search_read、read_group方法
#https://blog.csdn.net/weixin_42264722/article/details/103278435?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160232282019724835825203%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=160232282019724835825203&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v28_p-2-103278435.pc_first_rank_v2_rank_v28_p&utm_term=odoo+%E6%96%B0%E5%BB%BA%E8%AE%B0%E5%BD%95%E6%97%B6&spm=1018.2118.3001.4187
# 创建序列号
#https://zhuanlan.zhihu.com/p/29521258?utm_source=wechat_session
# Odoo仓库各类知识详解
#http://www.voidcn.com/article/p-athggojc-byt.html
# Odoo中有和没有sudo()之间的区别
# 在调用create()之前调用sudo()(没有参数)将返回带有更新环境且设置了admin(超级用户)用户ID的记录集.这意味着对记录集的进一步方法调用将使用admin用户,因此绕过访问权限/记录规则检查
#https://blog.csdn.net/chl1008/article/details/100590175
# ODOO事务处理self.env.cr.commit()
# self.env.cr.commit() #先将信息保存起来,不添加该代码,用了Raise之后会自动回滚
# self.env.reload()
# raise Warning(sMessage)
#https://www.jb51.net/article/185409.htm
# Python实现捕获异常发生的文件和具体行数
#https://www.runoob.com/python/python-exceptions.html
# Python 异常处理
#https://blog.csdn.net/qq_29654325/article/details/78016842
# Odoo只读字段在onchange方法中被改变后不会保存到数据库
#https://blog.csdn.net/sinat_23931991/article/details/86715272?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160313151619726892404859%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=160313151619726892404859&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v28-1-86715272.pc_first_rank_v2_rank_v28&utm_term=odoo+order+by&spm=1018.2118.3001.4187
# Odoo12 search、name_search、search_count、search_read、read_group方法
#https://blog.csdn.net/weixin_41893060/article/details/81182798?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160313182419195188324963%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=160313182419195188324963&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v28-1-81182798.pc_first_rank_v2_rank_v28&utm_term=odoo+%E5%AD%97%E6%AE%B5%E7%B1%BB%E5%9E%8B&spm=1018.2118.3001.4187
# odoo的基本字段类型
# 基础类型:char, text, boolean, integer, float, date, time, datetime, binary
# 关系类型:one2one, one2many, many2one, many2many
# 复杂类型:selection, function, related
#https://blog.csdn.net/weixin_42556357/article/details/100525257?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160315297119724839200249%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=160315297119724839200249&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v28-2-100525257.first_rank_ecpm_v3_pc_rank_v2&utm_term=ODOO+%E6%8F%90%E7%A4%BA%E6%A1%86&spm=1018.2118.3001.4187
# odoo的提示框
#https://blog.csdn.net/weixin_42556357/article/details/100525257?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160315297119724839200249%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=160315297119724839200249&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v28-2-100525257.first_rank_ecpm_v3_pc_rank_v2&utm_term=ODOO+%E6%8F%90%E7%A4%BA%E6%A1%86&spm=1018.2118.3001.4187
# odoo的提示框
#https://blog.csdn.net/weixin_42583946/article/details/94723694
# odoo使用方法给字段添加默认值
#https://www.cnblogs.com/wanxiangIT/p/10808197.html
# odoo api介绍
#https://www.cnblogs.com/ygj0930/p/10826222.html
# Odoo模型的内置方法(可按需重写)
#https://www.cnblogs.com/xianqingsong/archive/2018/11/15/9965899.html
# ImageBase64编码
#https://blog.csdn.net/sinat_37967865/article/details/94554568
# base64模块对图片进行base64编码和解码
#https://www.cnblogs.com/mianbaoshu/p/13366150.html
# python base64(图片)编码
#https://blog.csdn.net/wawy826442063/article/details/93725597
# Python3 bytes图片转jpg格式
# https://blog.csdn.net/sinat_23931991/article/details/86715272
#Odoo12 search、name_search、search_count、search_read、read_group方法
#https://github.com/lapagept/odoo-8/blob/master/virtual_location_inventory_account_move_lapagept/lapagept_classes.py
# How to reate two ids record
# 创建两条记录
# [(0, 0, debit_line_vals), (0, 0, credit_line_vals), (0, 0, debit_line_vals2), (0, 0, credit_line_vals2)]
#https://blog.csdn.net/qq_41931364/article/details/104380397?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160543844619724842910577%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=160543844619724842910577&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-4-104380397.pc_first_rank_v2_rank_v28&utm_term=odoo+one2many&spm=1018.2118.3001.4449
# odoo中one2many
#https://blog.csdn.net/bocai_xiaodaidai/article/details/104512019?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160277270119725211910418%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=160277270119725211910418&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v28-1-104512019.first_rank_ecpm_v3_pc_rank_v2&utm_term=odooo+%E5%BC%B9%E5%87%BA%E8%A7%86%E5%9B%BE&spm=1018.2118.3001.4187
# Odoo 三级联动的实现
https://www.nps.ink/428481.html
https://apps.odoo.com/apps/modules/12.0/list_export_excel_app/