2015-08-27 61 views
0

我試圖獲取MySQL表的列是否在字符串或列表格式。使用燒瓶訪問MySQL表中的所有列sqlalchemy

由於我通過主應用定義了表,因此我可以使用dir(table_name)獲取屬性列表,但這些屬性包含私有屬性和其他內置屬性,如「query」或「query_class」。過濾這些將是可能的,但我試圖找到一個更簡單的方法來獲得列而不通過屬性路線。

在閱讀flask-sqlalchemy文檔和sqlalchemy文檔之間,我注意到使用table_name.c將適用於sqlalchelmy。是否有相當於flask-sqlalchemy?

回答

2

Flask-SQLAlchemy對SQLAlchemy方面沒有做任何事情,它只是一個包裝,使它更容易與Flask一起使用以及一些便利功能。您可以使用與您平常相同的方式inspect orm objects。例如,inspecting a model returns its mapper

m = db.inspect(MyModel) 
# all orm attributes 
print(list(m.all_orm_descriptors.keys())) 
# just the columns 
print(list(m.columns.keys())) 
# etc.