在阅读有关列构造函数参数的SQLAlchemy文档时,我发现了this code example(经过编辑以删除对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))
)
具体来说,我不明白Column()
的default
参数是如何有效的。对于我和我的Python解释器,keyvalues.select(keyvalues.c.type='type1', limit=1)
似乎正在使用表达式keyvalues.c.type
作为keyvalues.select()
的关键字参数的名称
文档掩盖了keyvalues
的定义,我还没有找到定义keyvalues
的方法来阻止我的解释器抛出语法错误
表达式不能用作关键字,对吗?这是不是因为另一个原因而有效的语法?如果它是有效的语法,你能提供一个简短的例子来说明使它有效的必要代码吗
我相信这是一个可以追溯到2006的打字错误,已经提交了一个patch来修复
相关问题 更多 >
编程相关推荐