Отсутствует таблица при беге Джанго Unittest с Sqlite3

Я пытаюсь провести унитест с Джанго 1.3. Обычно я использую MySQL в качестве бэкэнда базы данных, но так как это мучительно медленно раскручиваться для одного unittest, я использую Sqlite3.

Так что, чтобы перейти на Sqlite3 только для моих unittes, в моем settings.py у меня есть:

import sys
if 'test' in sys.argv:
    DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.sqlite3',
            'NAME':'/tmp/database.db',
            'USER'       : '',
            'PASSWORD' : '',
            'HOST'     : '',
        }
    }

Когда я запускаю мой unittest с python manage.py test myapp. Test.test_myfunc, я получаю ошибку:

DatabaseError: no such table: django_content_type

Googling показывает, что существует несколько возможных причин для этой ошибки , ни одна из которых не кажется мне применимой. Я не запускаю Apache, поэтому не понимаю, как это может быть связано с разрешениями. Создается файл/tmp/database ase.db, поэтому файл/tmp доступен для записи. Приложение django.contrib.contenttypes включено в мой INSTALLED_APPS.

Чего мне не хватает?

Изменить: я снова столкнулся с этой проблемой в Джанго 1,5, но ни одно из предложенных решений не работает.

19
задан Community 23 May 2017 в 12:09
поделиться