gpt4 book ai didi

python - 更新时重新生成 SQLalchemy 序列

转载 作者:太空宇宙 更新时间:2023-11-03 20:05:57 25 4
gpt4 key购买 nike

想象一下我的模型中有一个这样的类:

class Sample(Base):
__tablename__ = 'sample'
id = Column(Integer, primary_key=True)
firstname = Column(String(50))
lastname = Column(String(50))
auto_generated_code = Column(
Integer,
Sequence('sample_auto_generated_code_sequence'),
unique=True
)

当我向 Sample 类添加实例时,刷新 session 后,我的实例会自动获得一个整数。到目前为止一切顺利。

我还想要的是,当我更新上述实例的任何其他列时,它应该自动获得一个新的 auto_ generated_code 。简而言之,我希望我的 Sequence 也能在 update 上生成另一个代码。我怎样才能实现这个目标?

最佳答案

我找到了一个答案,我们可以像这样在Sqlalchemy中获取Sequence对象:

from sqlalchemy import Sequence

seq = Sequence('sample_auto_generated_code_sequence')

然后我们可以通过在连接或 session 上执行它来获取下一个序列

instance.auto_generated_code = session.execute(seq) # or conn.execute(seq)

然后将其添加到 session 中就可以了。

关于python - 更新时重新生成 SQLalchemy 序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58969827/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com