Python中文
首页
教程
问答
标签
搜索
登录
注册
是否可以在SQLAlchemy事务中提交两个相关的表?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我通过烧瓶SQLAlchemy使用更高级的SQLAlchemy ORM。我希望能够创建许多表,然后在单个事务中提交它们。但是,一个表与所有其他表相关,我不确定如何在它真正存在之前扩展它的ID。(请注意,它的主键是一个自动递增的值,在我们实际执行SQL之前,这个值才存在。)</p> <p>例如,假设我们有<code>TableA</code>和<code>TableB</code>。<code>TableB</code>有一个名为<code>table_a_id</code>的列。<code>TableA</code>ID由数据库管理;它会自动递增,直到我们创建一行<code>TableA</code>时才会存在。在</p> <p>我希望能够同时创建<code>TableA</code>和<code>TableB</code>,如果出现任何问题,请回滚事务。在</p> <p>在一个神奇的完美世界里,我的代码看起来像:</p> <pre><code>try: a = TableA() b = TableB(table_a_id=a.id) # a.id is None, since nothing has happened yet. db.session.commit() except Exception: db.session.rollback() </code></pre> <p>是否有可能(可能通过子事务)在事务中填充<code>a.id</code>的值?在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>只需在创建<code>a</code>对象之后使用<code>session.flush()</code>,它将发出当前事务中所有挂起的SQL,<em>将</em>填充自动生成的id。稍后您可以根据需要<code>commit()</code>或{<cd4>}。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何将Python中的列表复制到给定的目标中?
7 回答
如何将python中的列表插入SQL表
5 回答
如何将python中的列表转换为numpy数组以放入十位
5 回答
如何将python中的列表输入javascript?
4 回答
如何将python中的列表返回给dag?
4 回答
如何将Python中的列表项重新排列成成对的元组/列表?
2 回答
如何将Python中的初始化对象序列化为XML?
1 回答
如何将python中的十进制字符串转换为数字?
10 回答
如何将Python中的原始输入文本转换为Tkinter中的标签?
8 回答
如何将python中的反斜杠命令转换为在Linux上运行
2 回答
如何将python中的命令行参数转换为字典?
3 回答
如何将python中的图像值传递到kivy中的kv文件?
10 回答
如何将Python中的图像数组(枕头对象)上传到Google云
1 回答
如何将Python中的图像编码为Base64?
4 回答
如何将python中的图像调整为灰度低分辨率,如MNIST时尚数据?
3 回答
如何将python中的多个html输出保存到单个文件(或多个)中?
1 回答
如何将Python中的多个ifelse语句重构为一个函数?
7 回答
如何将Python中的多处理与Django结合使用,从xml文件创建数千个模型实例?
9 回答
如何将python中的多级API响应转换为dataframe
8 回答
如何将python中的多线程编程模型转换为异步/等待模型?
4 回答