我使用SQLAlchemy用Python编写这些代码。
dailyCashFlow = models.DailyCashFlow(day=day, cash_start_of_day = cash_start_of_day, cash_end_of_day = cash_end_of_day)
branch.dailyCashFlow.append(dailyCashFlow)
db.session.commit()
result['result'] = True
result['message'] = string.join(['Daily cashflow saved successfully with ID=#'], `dailyCashFlow.id`)
关系大致为:company-> branches-> dailyCashflow。 我想获取新插入的dailyCashFlow.id的id。我想我可以很容易地回到dailyCashFlow对象来获取id,但事实并非如此。它在模型中使用lazy ='dynamic'设置。这是什么原因?而且,如何轻松获取新插入数据的ID?
答案 0 :(得分:1)
你的意思是通过插入的数据获得id吗?
result = tb_conn.insert().execute(data)
id = result.inserted_primary_key[0]
答案 1 :(得分:0)
我把我的启示粘贴到这个问题上
“你是对的zzzeeek!这也是我的理解,如果仔细检查这段代码,string.join(['每日现金流成功保存ID =#'],dailyCashFlow.id
),你会看到这个过早介绍。它应该是这样的:string.join(['每日现金流成功保存ID =#',dailyCashFlow.id
)]。好吧,我想我现在得到一个很好的经验为什么单位测试是必须的.. :) - 如果你想将你的回复移到问题部分,我很乐意接受它作为接受的答案。“
因此,此页面的访问者将知道我做错了什么;)