0

我需要检索 account.analytic.line 中最后插入的记录的每个 id,以便可以将该 id 的值插入到 hr_analytic_timesheet 中的 line_id 中,以便将插入到 account.analytic.line 中的记录显示到 hr_analytic_timesheet 中的表中。这是我的代码:

project_obj = self.pool.get('notebook.project').search(cr, uid, [('project_id','=', project_sheet)])
        for p in self.pool.get('notebook.project').browse(cr, uid, project_obj):
            cr.execute('insert into account_analytic_line (account_id,user_id,unit_amount,amount,product_id,product_uom_id,general_account_id,journal_id,name,date,to_invoice) values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s) returning last_insert_id of account_analytic_line into hr_analytic_timesheet (line_id) where last_insert_id = %s', (p.account_id,p.user_code,p.unit_amount,p.amount,p.product_id,p.product_uom_id,p.general_account_id,p.journal_id,p.desc,p.date,p.to_invoice))
        return res

我尝试了上面的代码,但它给了我错误 tuple index out of range 。我在 site 中搜索过,但只找到了 mySQL 的解决方案,所以我不太确定如何应用Duplicate Key Last Insert ID等解决方案。请帮忙 !

4

1 回答 1

1

不要使用直接 SQL 插入记录,而是使用create方法。它将返回您创建的记录的 ID。

于 2013-09-05T05:04:25.587 回答