我想设置一个基于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] 删除。
我来说两句