安装Django Fixture时超出了最大递归深度

时间:2010-10-15 15:41:23

标签: django django-models fixtures

当运行Django单元测试时,它尝试将数据夹(initial_data.json)安装到数据库,但由于Runtime Error: maximum recursion depth exceeded while calling Python object

每次都失败

知道发生了什么事吗?

编辑:Django 1.2.3和Python 2.7

alt text

1 个答案:

答案 0 :(得分:0)

我经常从manage.py loaddata和相关操作中得到令人沮丧的不透明错误,例如您在此处说明的错误。

一个可能的原因是:manage.py dumpdata > fixture.json生成的灯具 - 没有任何合格的应用名称 - 充满了您可能不需要进行测试的无关记录。

您可能希望重新生成initial_data.json文件,但不包括以下部分或全部内容:

  • 管理日志条目
  • 内容类型 (这些会自动重新填充 manage.py syncdb等等 调用)
  • 会话
  • django.contrib.auth 权限
  • 任何型号或整个应用程序 特别是你的测试的辅助(例如 我通常省略django-tagging 数据,可以增长的表 非常快,其内容通常与我的测试正交)

如果你需要夹具中的所有东西,你也可以尝试将它分成两个或更多夹具文件。