这个SQLAlchemy 0.9.7代码执行时没有错误,但没有按预期更新底层数据库。在
这是Python:
print t #prints TITLE ABSTRACTOR 1
print newtitle #prints TITLE ABSTRACTOR I
print session.query(Basic).filter(Basic.title==t).count() #prints 1
ret = update(Basic).where(Basic.title==t).values(title=newtitle)
session.commit()
以下是更新后数据库的外观:
^{pr2}$我是否遇到了SQL炼金术错误,或者我遗漏了什么?在
你只是在构造一个update语句:
如果不执行以下语句,则不会执行任何操作:
^{pr2}$但我认为你是在尝试使用ORM接口,而不是核心接口。在这种情况下,虽然我不记得细节,但我确信您是通过修改查询对象来实现的,而不是通过调用任何名为
update
的对象来实现的。如果这就是你要找的,希望在这方面比较新鲜的人会提供更好的答案,但是类似这样的情况:如果这对您没有意义,请参阅教程中的Executing。但我猜你知道这一点,它只是我们制造的那些愚蠢的错误中的一个,我们都很难在别人的代码中看到它,而在我们自己的代码中,这个错误要糟糕100倍。:)
相关问题 更多 >
编程相关推荐