在阅读关于Column构造函数参数的SQLAlchemy文档时,我找到in login(已编辑以删除对Column()
的无关调用,请参阅链接中的完整示例):
t = Table("mytable", meta,
# define 'key' to pull its default from the 'keyvalues' table
Column('key', String(20), default=keyvalues.select(keyvalues.c.type='type1', limit=1))
)
具体来说,我不明白default
的{{1}}参数是如何有效的Python。对我和我的Python解释器Column()
似乎使用表达式keyvalues.select(keyvalues.c.type='type1', limit=1)
作为keyvalues.c.type
的关键字参数的名称。
文档掩盖了keyvalues.select()
的定义,我还没有找到一种方法来定义keyvalues
,阻止我的解释器抛出一个SyntaxError。
我是否认为表达式不能用作关键字?这个实际上是有效的语法吗?如果它是有效的语法,你能提供一个简短的例子来展示使它有效的必要代码吗?