SQLAlchemy错误:此操作只需要将一个表或实体指定为目标

时间:2013-11-06 14:50:05

标签: python sql python-2.7 sqlalchemy

我正在尝试从表中删除一行及其父行:

这是我的代码:

result = session.query(TableA, TableB). \
join(TableB). \
filter(TableA.ColumnA == 'something').delete()

不幸的是我收到了这个错误:

"sqlalchemy.exc.InvalidRequestError: This operation requires only one Table or entity be specified as the target."

我也尝试过执行此代码

result = session.query(TableA). \
join(TableB). \
filter(TableA.ColumnA == 'something').delete()

但是这样只删除了tableA行。

我该如何解决?

1 个答案:

答案 0 :(得分:0)

知道了!

我执行:

result = session.query(TableA, TableB). \
    join(TableB). \
    filter(TableA.ColumnA == 'something').one()

然后:

del_result_A = session.delete(result.TableA)
del_result_B = session.delete(result.TableB)
session.commit()