22 lines
878 B
Python
22 lines
878 B
Python
# -*- coding: utf-8 -*-
|
|
|
|
from . import models
|
|
from . import wizard
|
|
|
|
|
|
def _post_init_populate_sequence(cr, registry):
|
|
"""模块升级后,按创建顺序填充已有日志的序号(仅一次,不覆盖已有值)"""
|
|
env = registry['base'].env
|
|
# 只填充 sequence 为 NULL 或 0 的记录(新字段默认值)
|
|
for model_name in ('soong.workflow.log', 'soong.workflow.log2', 'soong.workflow.log3'):
|
|
Model = env[model_name]
|
|
# 按 workflow_id + model + res_id 分组处理
|
|
groups = {}
|
|
for rec in Model.sudo().search([], order='id'):
|
|
key = (rec.workflow_id.id, rec.model, rec.res_id)
|
|
groups.setdefault(key, []).append(rec)
|
|
for recs in groups.values():
|
|
for i, rec in enumerate(recs):
|
|
if not rec.sequence or rec.sequence == 10:
|
|
rec.sequence = i + 1
|