Django未正确创建测试数据库

费尔南多·费雷拉

我正在使用以下数据库设置

DATABASES = {
    'default': {
         'ENGINE': 'django.db.backends.sqlite3',
         'NAME': os.path.join(_DB_DIR, 'dev.db'),
         'TEST_NAME': os.path.join(_DB_DIR, 'dev_test.db'),
    }
}

但是,每次运行python manage.py test都会中断。问题似乎出在测试数据库上。出于某种原因,未在此处创建来自标准db的相同表。命令返回django.db.utils.DatabaseError: no such table: tbforms_userprofile确实,当我使用sqlite3打开dev_test.db时,可能会看到指定的表(以及tbforms应用程序中的任何其他表)不存在。

我想念什么?我正在将Django 1.4与Sqlite一起使用

PS:重要的是要注意syncdb和migration可以平稳运行。完整的追溯信息可以在这里找到:http : //pastebin.com/9dVmuVyt

戴安娜(Dhiana Deva)

正如我们所讨论的,这里的问题是,存在用于User模型的后保存信号(在syncdb期间创建),用于创建Profile模型(在syncdb之后创建,在南方迁移)。因此,当syncdb(或您的测试)在新数据库上创建表并创建新用户时,尚未创建用户配置文件的表,并且会引发此错误。

解决方案:

  • 避免在创建用户时自动创建此配置文件(有异味)
  • 使用Django 1.5及其自定义用户模型支持
  • 禁止向南进行测试(SOUTH_TESTS_MIGRATE = False),并始终创建指定syncdb --all的新数据库,然后迁移--fake。(尽管不是最好的解决方案)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

创建测试数据库时出错:Django unittest

来自分类Dev

无法创建Django测试数据库

来自分类Dev

无法创建测试数据库 django

来自分类Dev

Django 没有创建测试数据库

来自分类Dev

在Django Channels Pytest测试期间测试数据库未保留数据

来自分类Python

django测试应用程序错误-创建测试数据库时出错:创建数据库的权限被拒绝

来自分类Python

Django单元测试需要很长时间才能创建测试数据库

来自分类Linux

Django测试:创建测试数据库时出错:数据库“ database_name”已存在

来自分类Dev

创建测试数据库时禁用Django中的数据迁移

来自分类Dev

跳过Django测试数据库的创建,以创建只读的,外部管理的,高安全性的大型数据库

来自分类Dev

Django测试未在测试数据库上运行

来自分类Dev

使用RDBMS数据库测试数据创建?

来自分类Dev

烧瓶测试数据库未保存提交

来自分类Dev

Django可重用包-测试数据库不是即时创建的

来自分类Dev

创建测试数据库时出错 - django、docker、mysql

来自分类Dev

在 django 中测试数据库而不是 django 模型

来自分类Dev

Django Test:创建测试数据库时出错:复制数据库“ template_postgis”的权限被拒绝

来自分类Mysql

如何在docker下创建测试数据库?

来自分类Dev

如何防止RethinkDB创建测试数据库

来自分类Dev

symfony 4 创建测试数据库

来自分类Dev

Django:如何访问测试数据库?

来自分类Dev

将装置迁移到Django测试数据库

来自分类Dev

受限环境中的Django测试数据库

来自分类Dev

Django忽略测试数据库设置

来自分类Python

如何自动销毁Django测试数据库

来自分类Dev

连接到 Django 测试数据库

来自分类Dev

连接到Django测试数据库

来自分类Dev

Django测试数据库需要启用Postgres Extension

来自分类Dev

为什么我的Django工厂功能会在本地数据库中创建模型,而不是在测试数据库中创建模型?

Related 相关文章

  1. 1

    创建测试数据库时出错:Django unittest

  2. 2

    无法创建Django测试数据库

  3. 3

    无法创建测试数据库 django

  4. 4

    Django 没有创建测试数据库

  5. 5

    在Django Channels Pytest测试期间测试数据库未保留数据

  6. 6

    django测试应用程序错误-创建测试数据库时出错:创建数据库的权限被拒绝

  7. 7

    Django单元测试需要很长时间才能创建测试数据库

  8. 8

    Django测试:创建测试数据库时出错:数据库“ database_name”已存在

  9. 9

    创建测试数据库时禁用Django中的数据迁移

  10. 10

    跳过Django测试数据库的创建,以创建只读的,外部管理的,高安全性的大型数据库

  11. 11

    Django测试未在测试数据库上运行

  12. 12

    使用RDBMS数据库测试数据创建?

  13. 13

    烧瓶测试数据库未保存提交

  14. 14

    Django可重用包-测试数据库不是即时创建的

  15. 15

    创建测试数据库时出错 - django、docker、mysql

  16. 16

    在 django 中测试数据库而不是 django 模型

  17. 17

    Django Test:创建测试数据库时出错:复制数据库“ template_postgis”的权限被拒绝

  18. 18

    如何在docker下创建测试数据库?

  19. 19

    如何防止RethinkDB创建测试数据库

  20. 20

    symfony 4 创建测试数据库

  21. 21

    Django:如何访问测试数据库?

  22. 22

    将装置迁移到Django测试数据库

  23. 23

    受限环境中的Django测试数据库

  24. 24

    Django忽略测试数据库设置

  25. 25

    如何自动销毁Django测试数据库

  26. 26

    连接到 Django 测试数据库

  27. 27

    连接到Django测试数据库

  28. 28

    Django测试数据库需要启用Postgres Extension

  29. 29

    为什么我的Django工厂功能会在本地数据库中创建模型,而不是在测试数据库中创建模型?

热门标签

归档