如何在Python SQLAlchemy中获取新添加的子项的id?

时间:2013-10-09 09:35:28

标签: python sqlalchemy

我使用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?

2 个答案:

答案 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)]。好吧,我想我现在得到一个很好的经验为什么单位测试是必须的.​​. :) - 如果你想将你的回复移到问题部分,我很乐意接受它作为接受的答案。“

因此,此页面的访问者将知道我做错了什么;)