Python中文
首页
教程
问答
标签
搜索
登录
注册
在SQLAlchemy ORM中将对象标记为干净
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>在SQLAlchemy ORM中,有没有任何方法可以显式地将一个对象标记为<em>clean</em>?在</p> <p>这部分与前面关于<a href="https://stackoverflow.com/questions/41870323/sqlalchemy-bulk-update-strategies">bulk update strategies</a>的问题有关。在</p> <p>我想在一个<code>before_flush</code>事件侦听器中,将一堆对象标记为实际上不需要刷新。这是因为它们通过其他方式手动与数据库同步。在</p> <p>我已经尝试过下面的策略,但是它会导致对象从会话中被移除,这会在以后发生延迟加载时引发问题。在</p> <pre><code>@event.listens_for(SignallingSession, 'before_flush') def before_flush(session, flush_context, instances): ledgers = [] if session.dirty: for elem in session.dirty: if ( session.is_modified(elem, include_collections=False) ): if isinstance(elem, Wallet): session.expunge(elem) # causes problems later ledgers.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(Ledger(id=elem.id, amount=elem.balance)) if ledgers: session.bulk_save_objects(ledgers) session.execute('UPDATE wallet w JOIN ledger l on w.id = l.id SET w.balance = l.amount') session.execute('TRUNCATE ledger') </code></pre> <p>我想做些类似的事情:</p> ^{pr2}$ <p>但这并不起作用,因为<code>session.dirty</code>是一个计算属性,而不是常规属性。我一直在研究检测代码,但不明白如何才能使<code>dirty</code>列表不包含某些内容。我看到在对象状态上还有一个<code>history</code>也需要处理。在</p> <p>有什么想法吗?如果有什么不同的话,底层数据库是MySQL。在</p> <p>-马特</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>让我总结一下这种疯狂。在</p> <pre><code>from sqlalchemy.orm import attributes attributes.instance_state(your_object).committed_state.clear() </code></pre> <p>别紧张。(没有)</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
我想从用户inpu创建一个类的实例
8 回答
我想从用户导入值,为此
4 回答
我想从用户那里得到一个整数输入,然后让for循环遍历该数字,然后调用一个函数多次
1 回答
我想从用户那里收到一个列表,并在其中执行一些步骤,然后在步骤完成后将其打印回来,但它没有按照我想要的方式工作
5 回答
我想从用户那里获取输入,并将值传递给(average=dict[x]/6),然后在那里获取resu
7 回答
我想从第一个列表中展示第一个词,然后从第二个列表中展示十个词,以此类推- Python
2 回答
我想从第一个空lin开始解析文本文件
7 回答
我想从简历、简历中提取特定部分
8 回答
我想从给定字典(python)的字符串中删除\u00a9、\u201d和类似的字符。
5 回答
我想从给定的网站Lin下载许多文件扩展名相同的Wget或Python文件
1 回答
我想从网上搜集一些关于抵押贷款的数据
4 回答
我想从网站上删除电子邮件地址
1 回答
我想从网站上读取数据该网站包含可下载的文件,然后我想用python脚本把它发送给oracle如何?
3 回答
我想从网站中提取数据,然后将其显示在我的网页上
5 回答
我想从网页上提取统计数据。
3 回答
我想从网页上解析首都城市,并在用户输入国家时在终端上打印它们
2 回答
我想从色彩图中删除前n个颜色,而不丢失原始颜色数
1 回答
我想从课堂上打印字典里的键
3 回答
我想从费用表中获取学生上次支付的费用,其中学生id=id
3 回答
我想从较低的顺序对多重列表进行排序,但我无法在一行中生成结果
9 回答