Odoo 如何将数据插入到具有外部约束的多个表中?

Odoo how to insert data to multiple tables with foreign constraint?

我的项目调用中有两个 table taskparamstask 代表工作任务, params 是它的参数列表任务。他们是one2many关系。 params 有一个名为 task_id 的列,其中包含任务的 ID table(外键)。

这里我在 task table 中插入一行,然后在 params 中插入一些行 table:

1.task.create(vals)
2.params.create(param_vals)

但是由于第2行执行时的事务没有插入任务所以没有生成task_id。如何避免这种情况?

这不是 SQL 交易的运作方式。

如果您有这样的两步交易:

  • 步骤 1 插入任务

  • 步骤 2 插入参数

然后任务 ID 将在交易中可用。因此,当您插入任务时,您需要读取 PK ID,然后在参数中使用它。

像这样:Python/postgres/psycopg2: getting ID of row just inserted