我有一个问题,每个完成的数量,我需要创建1条记录。现在,我有230.000+个完成数量,因此必须创建230.000条记录。如果我像往常一样进行for循环
for line in range(1, int(move_line.qty_done) + 1 ): #qty_done here is 230.000
val = {
'name': line.name,....some data here}
self.env['model'].create(val)
因此,当我运行此服务器时,我的服务器本地服务器将在20分钟内卡住并死亡。恐怕如果将代码推送到真正的服务器上,那将是可怕的。为此,请给我一些建议,谢谢。
这里您正尝试使用单独的创建查询来创建2,30,000
记录。
最好使用准备数据列表,然后调用一次create方法。
请参考下面的示例,并在您的代码中实现。
注。仅当您的模型中存在One2many
字段时,此示例才有效。
create_list = []
for line in range(1, int(move_line.qty_done) + 1 ): #qty_done here is 230.000
val = {
'name': line.name,....some data here
}
create_list.append(val)
self.create_data.create(create_list)
这里create_data
是One2many
字段。