在测试时无法安装auth.group fixture - django 1.7

时间:2015-03-26 14:36:59

标签: django unit-testing django-rest-framework

我有一个django项目,我正在尝试为它编写一些测试。但是,我的initial_data灯具在运行测试时会导致错误。

我得到的错误是:

django.db.utils.ProgrammingError: Problem installing fixture 'accounts/fixtures/initial_data.json': Could not load auth.Group(pk=1): relation "auth_group" does not exist
LINE 1: UPDATE "auth_group" SET "name" = '...

如果我将我的夹具重命名为initial_data以外的其他东西,以便它默认不加载,它可以正常工作,但我不想重命名我的夹具,因为这意味着我不能再没有参数运行loaddata

我找到this bug,但我的项目没有任何初始迁移。另外,我还有其他灯具装得很好。

到目前为止,我已经尝试过:

  • 刷新我的开发数据库,​​以及删除任何可能的迁移文件
  • 删除并重新创建我的虚拟环境
  • INSTALLED_APPS
  • 中更改我的应用的顺序
  • .setUp()方法中调用flush命令。

我应该提一下,我正在使用django-rest-framework中的APITestCase

欢迎任何建议。感谢。

1 个答案:

答案 0 :(得分:1)

好的,最后,似乎问题不仅仅是在我测试的时候。当我改回到运行我的服务器时,我注意到我得到了同样的错误。

我发现的每一个类似问题都与迁移有关,但我甚至没有这些问题,因为运行./manage.py makemigrations并没有生成它们。

所以我最终为我的每个应用做了./manage.py makemigrations *app_name*,一切都开始了......