2010-10-15 102 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的标记 数据,该表为可 非常快速地增长较大,其内容往往是垂直于我的测试)

如果您需要在您的夹具的一切,你也可以尝试打破它分成两个或更多的夹具文件。