【问题标题】:How to include "user friendly" column names in SQLalchemy如何在 SQLalchemy 中包含“用户友好”的列名
【发布时间】:2013-10-04 16:19:43
【问题描述】:
我正在尝试在 python 中编写一个函数,对一个 ORM 对象进行一些内省以生成一个简单的 html 表单。我得到了列名,例如 order_name 、supplier_code 等,但我想分配一些名称,例如“订单名称”、“供应商代码”等。
使用 SQLalchemy API 有什么简单的方法吗?
【问题讨论】:
标签:
python
sqlalchemy
introspection
【解决方案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