2010-10-15 103 views
1

時,當運行一個Django的單元測試,它嘗試的安裝固定裝置(initial_data.json)的分貝,但每次失敗由於Runtime Error: maximum recursion depth exceeded while calling Python object最大遞歸深度超過Django的安裝夾具

任何想法是怎麼回事?

編輯:Django的1.2.3和Python 2.7

alt text

+0

發佈燈具的內容可能會有所幫助。 – 2010-10-15 15:47:04

+0

發佈您正在使用的Django版本可能也有幫助 – 2010-10-15 15:54:05

回答

0

我經常從像你在這裏說明的一個manage.py loaddata及相關業務得到令人沮喪的不透明錯誤。

一個可能的原因是:從manage.py dumpdata > fixture.json生成的燈具 - 沒有任何合格的應用程序名稱 - 充滿了您可能不需要用於測試的無關記錄。

你不妨重新生成initial_data.json文件,但不包括部分或全部以下的:

  • 管理日誌條目
  • 內容類型 (這些時自動 manage.py syncdb等等是重新填充 調用)
  • 會議
  • django.contrib.auth 權限
  • 任何模型或整個應用程序,其中 特別針對您的測試(例如, 我一般省略Django的標記 數據,該表爲可 非常快速地增長較大,其內容往往是垂直於我的測試)

如果您需要在您的夾具的一切,你也可以嘗試打破它分成兩個或更多的夾具文件。