【发布时间】:2018-07-06 20:10:46
【问题描述】:
我可以找到许多关于如何在“filter_by”部分是动态的情况下构建这些查询的示例,但我似乎找不到类名是动态位的任何内容。我确定肯定有答案,只是不确定要搜索什么。
我的用例是这样的:我需要构建一个动态 SQLAlchemy 查询。不同之处在于它的类名发生了变化,而不是过滤器变量。查询类型将始终是“.get()”,所以我很好。我还应该说,简单地在类名应该是的地方插入一个变量是行不通的。
db_model = request.values.get("db_model_class")
item_id = request.values.get("item_id")
result = db.session.query(db_model).get(int(item_id))
我该如何进行这项工作?
【问题讨论】:
-
您可以像对待python中的任何其他变量一样对待
db_model,并将模型类引用传递给它,以形成IIjia回答的通用查询。