我尝试了很多组合来让我的删除工作,但我必须遗漏一些基本的东西。指针?我试图从api_connectors表中删除connector_id == 29(connectorSelected [0]的值)。
session = apiconnectors.loadSession()
criteria = "connector_id == '" + str(connectorSelected[0]) + "'"
session.query().filter(criteria).delete()
session.commit()
我收到警告
Textual SQL expression "connector_id == '29'" should be explicitly declared as text("connector_id == '29'")
我在session.query语句运行时遇到错误 - 但我知道从db中查找我要删除的行确实存在。
IndexError: list index out of range
答案 0 :(得分:0)
你需要sqlalchemy text()
函数用于原始sql并调用first()
方法来获得结果:
from sqlalchemy import text
session.query().filter(text("connector_id=='29'")).first().delete()