小编gso*_*ano的帖子

django:sqlite3.OperationalError:没有这样的表

我现在不知道为什么,但是当我试图进行测试时,从一天到另一天我开始遇到问题.我正在使用django 1.1(客户要求),当我运行测试时:

python manage.py test --setting=settingsTest
Run Code Online (Sandbox Code Playgroud)

抛出:

Traceback (most recent call last):
  File "manage.py", line 11, in <module>
    execute_manager(settings)
  File "/usr/lib/pymodules/python2.6/django/core/management/__init__.py", line 362, in execute_manager
    ...
  File "/usr/lib/pymodules/python2.6/django/db/backends/sqlite3/base.py", line 193, in execute
    return Database.Cursor.execute(self, query, params)
sqlite3.OperationalError: no such table: programas_act_actividadesprograma
Run Code Online (Sandbox Code Playgroud)

但我有settingsTest.py

INSTALLED_APPS = (
    'django.contrib.auth',
    ...

    'site.programas_act',
    ...
)
Run Code Online (Sandbox Code Playgroud)

在/var/www/site/programas_act/models.py中

class ActividadesPrograma(models.Model):
    ...
Run Code Online (Sandbox Code Playgroud)

我删除了settingsTest.DATABASE_NAME中指定的文件并运行:

python manage.py syncdb --setting=settingsTest
Run Code Online (Sandbox Code Playgroud)

但仍然失败.

如果我在django shell_plus中运行:

import settings
print settings.INSTALLED_APPS
for app in settings.INSTALLED_APPS:
    print app
Run Code Online (Sandbox Code Playgroud)

我可以看到该应用程序,但是当我运行时:

from django.db import connection
cursor = connection.cursor() …
Run Code Online (Sandbox Code Playgroud)

sqlite django unit-testing django-models

9
推荐指数
1
解决办法
8516
查看次数

标签 统计

django ×1

django-models ×1

sqlite ×1

unit-testing ×1