针对odoo的大量数据可以采用ES搜索引擎
from odoo import models, fields, api, _
class ProductTemplate(models.Model):
_inherit = 'product.template'
_search_engines = True
def init(self):
index_name = self._name.replace('.', '_')
# 创建索引
if not self.exists_index(index=index_name):
self.create_index(index=index_name)
# 创建索引管理
if not self.env['es.index'].search([('model_name', '=', self._name)]):
self.env['es.index'].create({
'name': index_name,
'model_id': index_name,
})
核心代码
这样每次读取数据都是从ES中拿数据
重写标准方法实现ES数据同步