因此,使用和学习 sqlalchemy。
我有一个实例,我需要得到一个值。如果该值存在,则返回它。如果不计算并返回。
总是有人会说“你做错了”,一般来说,对改进的投入是值得赞赏的。但是,我正在研究如何在无需明确管理会话的情况下做到这一点,因为我正在处理的工作开始增长,并且在我想要更新实例时不断管理会话是有问题的。这让我觉得我实际上做错了。
那么如何修复以下方法以不显式管理会话?
def method(self, session):
if self.i_needed_this is None:
self.i_needed_this = calculate(calcutron)
session.add(self)
session.commit()
return self.i_needed_this
else:
return self.i_needed_this
也许这个问题的标题应该是“让实例会话感知,所以我并不总是明确地管理它”,如果这是一个愚蠢的问题,至少用例子告诉我为什么,并指出其他人问得更好的地方。
编辑:显然,导入我正在使用的会话有效,并且它是可用的,所以当我更熟练使用 sqlalchemy 时,它可能不是问题或未来的问题。