SQLAlchemy docs(设置列默认值) - 这行语法有效的python如何?

时间:2017-12-14 22:57:30

标签: python python-3.x sqlalchemy

在阅读关于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。

我是否认为表达式不能用作关键字?这个实际上是有效的语法吗?如果它是有效的语法,你能提供一个简短的例子来展示使它有效的必要代码吗?

1 个答案:

答案 0 :(得分:1)

我认为这是一个回到2006的错误日期,已提交patch来修复。

相关问题