回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我使用sqlalchemy的反射工具来获取一个Table对象。我这样做是因为这些表是动态的,表/列可以更改。下面是我使用的代码:</p>
<pre><code>def getTableByReflection(self, tableName, metadata, engine):
return Table(tableName, metadata, autoload = True, autoload_with = engine)
</code></pre>
<p>问题是,当上面的代码运行两次时,不管列是否已更改,它似乎都返回相同的结果。我尝试过使用<code>mysession.refresh(mytable)</code>刷新,但是失败了,因为表没有附加到任何元数据-这是有意义的,但为什么我看到缓存的结果?在</p>
<p>有什么方法可以告诉metadata/engine/session忘记这个表,让我干净地加载它吗?在</p>