如何在SQLalchemy中包含“用户友好”列名

时间:2013-10-04 16:19:43

标签: python sqlalchemy introspection

我正在尝试在python中编写一个函数,它对一个ORM对象进行一些内省以生成一个简单的html表单。我得到了列名,如order_name,supplier_code等,但我想指定一些名称,如“订单名称”,“供应商代码”等。

使用SQLalchemy API有没有简单的方法呢?

1 个答案:

答案 0 :(得分:1)

只需获取表格上的列名列表并执行简单的地图:

def human_readable_cols(model_cls):
    return [' '.join(part.capitalize() for part in col.split('_'))
            for col in model_cls.__table__.columns]

print human_readable_cols(MyModel)

因此,如果模型的列为['asd_asd', 'foo', 'foo_bar'],则human_readable_cols将返回:

['Asd Asd', 'Foo', 'Foo Bar']

另请参阅:How to discover table properties from SQLAlchemy mapped object