-1

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

4

2 回答 2

1

您的意思是通过插入的数据获得 id 吗?

result = tb_conn.insert().execute(data)
id = result.inserted_primary_key[0]
于 2013-10-09T10:54:17.047 回答
0

我把我的启示粘贴到这个问题上

“你是对的zzzeeek!这也是我的理解,如果你仔细观察这段代码,string.join(['Daily cashflow saved failed with ID=#'], dailyCashFlow.id),你会发现 ] 引入得太早了。它应该是这样的: string.join(['Daily cashflow saved successfully with ID=#', dailyCashFlow.id)]。好吧,我想现在我得到了很好的体验,为什么必须进行单元测试.. :) - 如果你想搬家您对问题部分的回复,我很乐意接受它作为已接受的答案。”

所以这个页面的访问者会知道我做错了什么;)

于 2013-11-19T00:56:57.077 回答