【问题标题】:Odoo how to insert data to multiple tables with foreign constraint?Odoo如何将数据插入到具有外部约束的多个表中?
【发布时间】:2016-10-28 22:27:02
【问题描述】:

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

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

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

但是由于执行第 2 行时的事务,未插入任务,因此未生成 task_id。如何避免这种情况?

【问题讨论】:

    标签: python postgresql openerp


    【解决方案1】:

    这不是 SQL 事务的工作方式。

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

    • 第 1 步插入任务

    • 第 2 步插入参数

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

    类似这样的:Python/postgres/psycopg2: getting ID of row just inserted

    【讨论】:

      猜你喜欢
      • 2014-10-09
      • 2011-10-16
      • 2019-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多