【发布时间】:2011-03-21 12:30:22
【问题描述】:
是否可以检查查询删除了多少行?
queryset = MyModel.object.filter(foo=bar)
queryset.delete()
deleted = ...
或者我应该为此使用交易吗?
@transaction.commit_on_success
def delete_some_rows():
queryset = MyModel.object.filter(foo=bar)
deleted = queryset.count()
queryset.delete()
PHP + MySQL 示例:
mysql_query('DELETE FROM mytable WHERE id < 10');
printf("Records deleted: %d\n", mysql_affected_rows());
【问题讨论】:
-
嗯,
queryset.delete()应该删除len(queryset)的对象数量,但是要从 MySQL 中获取受影响的行数,我认为应该直接使用 MySQLdb 驱动程序。
标签: django django-models mysql django-orm