【问题标题】:SQLAlchemy Error: This operation requires only one Table or entity be specified as the targetSQLAlchemy 错误:此操作只需要将一个表或实体指定为目标
【发布时间】:2013-11-17 20:56:40
【问题描述】:

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

这是我的代码:

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行。

我该如何解决?

【问题讨论】:

    标签: python sql python-2.7 sqlalchemy


    【解决方案1】:

    知道了!

    我执行:

    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()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多