我有一个如下所示的SQLAlchemy查询:
query = db.session.query(
Place.name,
Place.population,
).filter(Place.population==8000)
但是当我打印查询时,它显示为:
SELECT place.name AS place_name, place.population AS place_population
FROM place
WHERE place.population = %(population_1)s
我不知道为什么它总是用%(population_1)s
替换我的过滤条件。该查询是Flask应用程序的一部分,也许有些地方我不了解?
编辑:更改标题以更加描述实际问题。
答案 0 :(得分:1)
它的行为与应有的方式相同。就是您打印查询的方式。
from sqlalchemy.dialects import postgresql
query = statement.compile(dialect=postgresql.dialect(),compile_kwargs={"literal_binds": True})
print(query) # will print the compiled query statement againt the dialect.