2014-04-29 38 views
1

如何測試單元測試中使用commit_manually()的Django代碼?如何在Django內測試commit_manually單元測試

我有一個長時間運行的方法,刪除大量的記錄,足以使它不能在單個事務中保留所有這些更改而不消耗所有系統內存。所以我把它包裝在@commit_manually,並定期致電commit()

然而,在Django 1.6,所有的單元測試,現在包裹在transaction.atomic(),所以如果我嘗試做任何手動提交,我得到的錯誤:

django.db.transaction.TransactionManagementError:這是被禁止的時'原子'塊已激活。

這是什麼解決方法?

回答

1
+0

@Cerin做? –

+0

不幸的是,沒有。所有給我的是「TransactionManagementError:當自動提交關閉時,你的數據庫後端不能正常工作,在使用'atomic'之前打開它。」我使用Sqlite3作爲我的unittest數據庫後端。 – Cerin