27 Star 85 Fork 32

Jone.x / oejia_weshop

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
od13.py 1.32 KB
一键复制 编辑 原始数据 按行查看 历史
Jone.x 提交于 2022-11-01 20:02 . od13 update
import logging
_logger = logging.getLogger(__name__)
def multi(method):
method._api = 'multi'
return method
def model_cr(method):
method._api = 'model_cr'
return method
from odoo import api
api.multi = multi
api.model_cr = model_cr
try:
from odoo import api
api.multi = multi
api.model_cr = model_cr
except:
import traceback;traceback.print_exc()
from odoo import models
origin_write = models.BaseModel.write
def write(self, vals):
_vals = {}
for k,v in vals.items():
if k in self._fields:
_vals[k] = v
else:
_logger.warning('>>> odoo 13 hook: model %s has no field %s', self._name, k)
#vals = { k:v for k,v in vals.items() if k in self._fields}
return origin_write(self, _vals)
models.BaseModel.write = write
origin_create = models.BaseModel.create
@api.model_create_multi
def create(self, vals_list):
_vals_list = []
for vals in vals_list:
_vals = {}
for k,v in vals.items():
if k in self._fields:
_vals[k] = v
else:
_logger.warning('>>> odoo 13 hook: model %s has no field %s', self._name, k)
#vals = { k:v for k,v in vals.items() if k in self._fields}
_vals_list.append(_vals)
return origin_create(self, _vals_list)
models.BaseModel.create = create
Python
1
https://gitee.com/jone/oejia_weshop.git
git@gitee.com:jone/oejia_weshop.git
jone
oejia_weshop
oejia_weshop
13.0

搜索帮助