python - 使用烧瓶时无法执行原始sql
问题描述
所以我想在我的烧瓶应用程序中专门运行这个 sql 代码:
SELECT *, (upvotes - downvotes) * age / importance * -1 AS hotness FROM 'post' ORDER BY hotness DESC LIMIT 50
为此,我使用了flask-sqlalchemy,如下所示:
self.hotness = db.engine.execute(text("SELECT *, (upvotes - downvotes) * age / importance * -1 AS hotness FROM 'post' ORDER BY hotness DESC LIMIT 50").execution_options(autocommit=True))
return self.hotness
正如在这个问题上所建议的那样。
问题是该self.hotness
变量总是出现,None
即使 sql 代码中引用的所有其他变量都不是None
,它们是数字。
我猜这个问题是由于实际的 sql 代码没有提交到这里使用的表中,即post
.
如何正确提交使用 flask-sqlalchemy 由原始 sql 生成的数据?
解决方案
推荐阅读
- python - How to indicate to a specific version of database? [Django] [PostgreSQL]
- json - 输入'列表
' 不是类型 'Map 的子类型 ' 在类型转换中 - validation - 资源服务器的 OAuth2.0 访问令牌验证
- shell - 如何在 GNU Make 中修改 PATH 并成功使用 $(shell ...) 执行命令?
- javascript - 将对象数组中的值转换为它们自己的键值对对象并插入到新数组中
- java - Postgis,使用 Java 更新几何列
- c++ - gmock 基类构造函数实例化与另一个实例
- python - 如何从 Django 的 UserCreationForm 中的用户名字段禁用自动对焦?
- c++ - 矢量搜索押韵词
- python - 从列表中查找唯一索引