【发布时间】:2013-08-05 17:30:04
【问题描述】:
我正在使用以下数据库设置
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 时它都会中断。
问题似乎出在测试数据库上。由于某种原因,标准数据库中的相同表并未在那里创建。该命令返回 django.db.utils.DatabaseError: no such table: tbforms_userprofile 。事实上,当我使用 sqlite3 打开 dev_test.db 时,可能会看到指定的表(以及 tbforms 应用程序中的任何其他表)不存在。
我错过了什么?我正在使用带有 Sqlite 的 Django 1.4
PS:重要的是要注意 syncdb 和 migrate 运行顺利。完整的回溯可在此处获得:http://pastebin.com/9dVmuVyt
【问题讨论】:
-
自添加 South 后,您是否在项目中添加了 tbforms?如果是这样,您可能需要为 tbforms 应用程序创建初始迁移。或者,只需将 SOUTH_TESTS_MIGRATE 设置为
False。 -
非常感谢!这就是我需要的