我的 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。