在sqlalchemy中设置默认值

克里斯·R:

我想设置一个基于SQLAlchemy模型中另一个表的列默认值。

目前我有这个:

Column('version', Integer, default=1)

我需要的(大致)是这样的:

Column('version', Integer, default="SELECT MAX(1, MAX(old_versions)) FROM version_table")

如何在SQLAlchemy中实现呢?

福伊特斯:

文档提供以下可能性default

标量,Python可调用或ClauseElement表示此列的默认值,如果在插入的VALUES子句中未指定此列,则将在插入时调用它。

您可以考虑使用一个简单的函数,或者仅可以使用select()object

在您的情况下,可能类似于以下内容:

from sqlalchemy.sql import select, func
...
Column('version', Integer, default=select([func.max(1,
    func.max(version_table.c.old_versions))]))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章