sqlalchemy删除索引超出范围

时间:2017-03-10 19:10:12

标签: sqlalchemy

我尝试了很多组合来让我的删除工作,但我必须遗漏一些基本的东西。指针?我试图从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

1 个答案:

答案 0 :(得分:0)

你需要sqlalchemy text()函数用于原始sql并调用first()方法来获得结果:

from sqlalchemy import text

session.query().filter(text("connector_id=='29'")).first().delete()