运行测试Django Pycharm时使用的表格错误

时间:2017-11-07 19:33:46

标签: python mysql django pycharm mysql-connector-python

我使用了inspectdb从MySQL Connector / Python连接的MySQL数据库中导入了Models模式。

当我运行测试时,系统显示:

django.db.utils.ProgrammingError: Table 'test_mydb.cards' doesn't exist

但表名只是mydb.cards,而不是test_mydb.cards

为什么要添加此前缀?我的应用名称仅为container

2 个答案:

答案 0 :(得分:0)

Django使用unittest模块进行测试,同时它创建了一个空白数据库进行测试,因为测试应该始终在相同的空白数据库或数据夹填充数据库上运行。

  需要数据库的

Tests(即模型测试)将不会使用您的   “真实”(生产)数据库。创建单独的空白数据库   进行测试。

     

无论测试通过还是失败,测试数据库都是   所有测试都已执行时被销毁。

检查您是否正在为表测试尝试访问进行迁移,因为所有没有迁移的表都无法通过测试套件访问而无需进行单一操作或解决方法

答案 1 :(得分:0)

我找到了原因:我在每个表的managed中都有False属性models.py Class Meta。我从来没有把它放在那里,这是inspectdb之后的默认值。

请阅读:Django Models Options: Managed