在错误查询时跳过记录,而是中止当前事务 - odoo13

Skip record while bad query instead aborting current transaction - odoo13

提问人:NinjaBat 提问时间:12/1/2022 最后编辑:NinjaBat 更新时间:12/2/2022 访问量:42

问:

从远程文件读取时,它以带有键的字典的形式给了我。然后我尝试通过循环创建记录。data

此外,该表还具有 .因此,每当发生错误的查询时,我都想跳过这一行,而不是中止整个事务(现在我的代码就会发生这种情况)。知道怎么做吗?_sql_contrain

    def update_fn(self, sale, data):
    try:
        # Remove existing
        for existing_rec in sale.prop_ids:
            sale.prop_ids = [(2, existing_rec.id)]

        for prop in data["****"]:
            try:
                vals = {
                    "number": prop[0],
                    "name": prop[1],
                    "selection": prop[2],
                    "value": prop[3],
                }
                sale.prop_ids = [(0, 0, vals)]
            except IndexError:
                _logger.error(
                    "Insufficient Data: skipping line",
                )
            except IntegrityError:
                _logger.error(
                    "Unique Constrain Error"
                )
                return False

    except KeyError:
        _logger.error(
            "Data not found: skipping file"
        )
        return False
    except Exception as e:
        _logger.error("Error - %s", e)
        return False
蟒蛇 唯一约束 odoo-13 sqltransaction

评论


答: 暂无答案