Теперь я не знаю почему, но изо дня в день у меня возникали проблемы, когда я пытался запустить тесты.Я использую Django 1.1 (требования клиента), и когда я запускаю тест с:
python manage.py test --setting=settingsTest
, он выдает:
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
, но у меня есть в settingsTest.py
INSTALLED_APPS = (
'django.contrib.auth',
...
'site.programas_act',
...
)
и в /var/www/site/programas_act/models.py
class ActividadesPrograma(models.Model):
...
Я удалил файл, указанный в settingsTest.DATABASE_NAME, и запустил:
python manage.py syncdb --setting=settingsTest
, но все ещесбой.
Если я запускаю в django shell_plus:
import settings
print settings.INSTALLED_APPS
for app in settings.INSTALLED_APPS:
print app
Я вижу приложение, но при запуске:
from django.db import connection
cursor = connection.cursor()
qry="""SELECT name FROM sqlite_master
WHERE type IN ('table','view') AND name NOT LIKE 'sqlite_%%'
UNION ALL
SELECT name FROM sqlite_temp_master
WHERE type IN ('table','view')
ORDER BY 1"""
cursor.execute(qry)
results = cursor.fetchall()
for tablename in results:
print tablename
Я не могу найти этоtablename.
Кто-нибудь может мне помочь?
Спасибо