0

我的 oracle 缓存表中有一行。我正在尝试使用标准 django 方式清除它:

from django.core.cache import cache
cache.clear()

但它不起作用!该行仍在我的缓存表中。

所以我运行并从方法中python manage.py sell放入一些代码:DatabaseCache.clear()

from django.db import connections
table = connections['cache'].ops.quote_name('ws_cache_table')
cursor = connections['cache'].cursor()
cursor.execute('DELETE FROM %s' % table)

但它也不起作用......

我没有抛出任何异常,我的“缓存”连接在settings.py.

当我打开 SQL Developer 并放

DELETE FROM ws_cache_table

表被正确截断。

另一方面,当我添加:

connections['cache'].commit()

django.db.transaction.TransactionManagementError: This code isn't under transaction management抛出异常,但表现在被截断。

问题是:我应该怎么做才能让我的表被截断但不抛出异常?

这是 djangoDatabaseCache.clear()方法中的错误吗?

我正在使用 django 1.4。

4

0 回答 0