Chr*_*s R 37 python sqlalchemy
我想设置一个基于SQLAlchemy模型中另一个表的列默认值.
目前我有这个:
Column('version', Integer, default=1)
Run Code Online (Sandbox Code Playgroud)
我需要的是(大致)这个:
Column('version', Integer, default="SELECT MAX(1, MAX(old_versions)) FROM version_table")
Run Code Online (Sandbox Code Playgroud)
我如何在SQLAlchemy中实现它?
voi*_*hos 35
该文档提供了以下可能性default:
标量,Python可调用或ClauseElement,表示此列的默认值,如果在插入的VALUES子句中未指定此列,则将在插入时调用.
您可以考虑使用一个简单的函数,或者您可以只使用一个select()对象.
在你的情况下,可能有以下几点:
from sqlalchemy.sql import select, func
...
Column('version', Integer, default=select([func.max(1,
func.max(version_table.c.old_versions))]))
Run Code Online (Sandbox Code Playgroud)
Column('version', Integer, server_default="SELECT MAX(1, MAX(old_versions)) FROM version_table")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
47737 次 |
| 最近记录: |