【问题标题】:Maximum Recursion depth exceeded when installing Django Fixture安装 Django Fixture 时超出最大递归深度
【发布时间】:2010-10-15 15:41:23
【问题描述】:

在运行 Django 单元测试时,它会尝试将夹具(initial_data.json)安装到数据库,但由于Runtime Error: maximum recursion depth exceeded while calling Python object而每次都失败

知道发生了什么吗?

编辑:Django 1.2.3 和 Python 2.7

【问题讨论】:

  • 发布夹具的内容可能会有所帮助。
  • 发布您正在使用的 Django 版本可能也会有所帮助

标签: django django-models fixtures


【解决方案1】:

我经常收到来自manage.py loaddata 的令人沮丧的不透明错误以及您在此处说明的相关操作。

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

您可能希望重新生成您的 initial_data.json 文件,排除以下部分或全部内容:

  • 管理日志条目
  • 内容类型 (这些自动重新填充时 manage.py syncdb 之类的都是 调用)
  • 会话
  • django.contrib.auth 权限
  • 任何模型或整个应用程序, 特别辅助您的测试(例如 我通常省略 django-tagging 数据,其表可能会变大 很快,而且其内容通常与我的测试正交)

如果您需要夹具中的所有内容,您还可以尝试将其拆分为两个或多个夹具文件。

【讨论】:

    猜你喜欢
    • 2017-08-09
    • 2011-03-31
    • 2013-02-20
    • 2013-12-01
    • 2011-09-19
    • 2019-01-18
    • 2013-03-03
    • 2017-03-24
    相关资源
    最近更新 更多