odoo循环create
True
有时候我们需要循环创建多条记录,这样会对效率会有影响
假设有这样一个模型
class Test(models.Model):
_name = 'funenc_xa_station.my_test'
_description = u'测试'

name = fields.Char(string='名字')
    test = fields.Char(string='测试')

然后我们有这样一个业务
@api.multi
def write(self, vals):
start_time = time.time()
    //循环创建
for i in range(200):
self.create(
{
'name': '如花',
              'test': '测试'
             }
)
obj
= super(Test, self).write(vals)

return obj
这样会多次连接数据库

我们可以一条sql插入,只连接一次数据库,不影响效率
形如:insert into funenc_xa_station_my_test(name,test) values('12','23'),('34','56')
@api.multi
def write(self, vals):
    inst_data = []
for i in range(200):
        data = []
        data.append('如花')
        data.append('测试')
inst_data.append(tuple(data))
    if str(inst_data)[1:-1]:
ins_sql = "insert into funenc_xa_station_my_test(name,test)" \
          "values{}" \
    .format(str(inst_data)[1:-1])
self.env.cr.execute(ins_sql)
    obj = super(Test, self).write(vals)
return obj


导出word格式
True