我正在尝试在python中编写一个函数,它对一个ORM对象进行一些内省以生成一个简单的html表单。我得到了列名,如order_name,supplier_code等,但我想指定一些名称,如“订单名称”,“供应商代码”等。
使用SQLalchemy API有没有简单的方法呢?
答案 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