Как включить "дружественные" имена столбцов в SQLalchemy

Я пытаюсь написать функцию на Python, которая делает некоторый самоанализ на одном объекте ORM для генерации простой HTML-формы. Я получаю имена столбцов, например, order_name, supplier_code и т. Д., Но я хотел бы назначить некоторые имена, такие как "Название заказа", "Код поставщика" и т. Д.

Есть ли простой способ сделать это, используя SQLalchemy API?

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']

См. Также: Как найти свойства таблицы из сопоставленного объекта SQLAlchemy.

Другие вопросы по тегам