目标:
DELETE
请求模型后,我需要知道已删除的项目和未删除的项目。可以从查询的SELECT
部分推论得出,这应该在删除发生之前进行。我目前正在手动执行此操作,这意味着在执行批量删除操作之前,我先执行了明确的SELECT。但是,由于返回失败的已删除项目的数量及其对应的ID是约定的一部分,因此,每次从表'A'中删除某些内容时,都需要执行此操作。我想知道是否有一种方法可以像delete()
属性那样将信息添加到rowcount
的返回中。
研究此post可以做到以下几点:
from sqlalchemy import Table, Column, ForeignKey, ...
from sqlalchemy.dialects.mysql import INTEGER
a = Table('A',...
mysql_engine='InnoDB',
mysql_charset='utf8'
)
def before_bulk_delete(mapper, connection, target):
print("BANANAS ******* SOMETHING HAS BEEN DELETED")
print(target)
# It's here where I should be able to execute the select part of the statement
event.listen(a, 'before_bulk_delete', before_bulk_delete)
但是它根本不会被调用。