Django с django-nose: два одинаковых файла настроек с разным поведением при выполнении команды test
С Django 1.4.5 я использую django-nose 1.1.0.
У меня есть два файла настроек без различий.
-> % diff local_settings.py test_settings/sqlite.py
Я запускаю тесты с:
-> % python manage.py test foo --settings=local_settings
и я получаю
Ran 91 tests in 5.273s
OK (SKIP=6)
Запуск одинаковых идентичных настроек из другого места
-> % python manage.py test foo --settings=test_settings.sqlite
Тесты под залог без всякого запуска:
Ran 43 tests in 1.230s
FAILED (errors=1)
Я получил обратный след, DatabaseError: no such table: django_content_type
Отслеживание происходит через загрузку URL-адресов. Нечто, что создается там, вызывает ContentType.objects.get_for_model(self.model)
, Как эта разница возможна, когда настройки идентичны?
Мой файл manage.py является общим:
#!/usr/bin/env python
from django.core import management
if __name__ == "__main__":
management.execute_from_command_line()
1 ответ
Ваша база данных NAME
установить относительный путь для БД sqlite?
Если это так, вам может понадобиться просто синхронизировать базу данных с файлом настроек в test_settings.
DatabaseError: no such table: django_content_type
означает, что одна из специфических таблиц django не найдена, что звучит как проблема самой БД, а не вашего приложения или самого файла настроек.