使用sqlalchemy核心创建表格,使用标题案例

时间:2017-03-20 09:24:04

标签: python postgresql flask sqlalchemy

仅使用 sqlalchemy core 我希望定义表,以便每次将数据保存在表中时,数据都会转换为标题大小写。如何在表定义级别完成此操作?现在定义表的方式是:

roles = Table("roles", metadata,
              Column("id", Integer, primary_key=True),
              Column("name", String, unique=True, default=mycase, onupdate=mycase))

在上面,我总是希望将数据保存为'项目经理'即使用户输入的数据为“项目管理员”。或者'项目经理'这样可以避免在保存数据之前在代码中进行格式化。使用的数据库是postgresql 9.4。

我已经使用了这里提到的Sqlalchemy core 1.2的这个功能: http://docs.sqlalchemy.org/en/latest/core/defaults.html

# a function which counts upwards
i = 0
def mydefault():
    global i
    i += 1
    return i

t = Table("mytable", meta,
    Column('id', Integer, primary_key=True, default=mydefault),
)

但似乎没有使用sqlalchemy core 1.0.8:

def mycase(context):
    return context.title()

roles = Table("roles", metadata,
                  Column("id", Integer, primary_key=True),
                  Column("name", String, unique=True, default=mycase, onupdate=mycase))

0 个答案:

没有答案