我正在尝试以字符串或列表格式获取MySQL表的列。
由于我通过主应用程序定义了表,我可以使用dir(table_name)
来获取属性列表,但这些属性包含私有属性和其他内置属性,如“query”或“query_class”。过滤这些是可能的,但我试图找到一种更简单的方法来获取列而不通过属性路径。
在阅读flask-sqlalchemy文档和sqlalchemy文档之间,我注意到使用table_name.c
将适用于sqlalchelmy。是否有与flask-sqlalchemy等效的产品?
答案 0 :(得分: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.