Wenn Sie Ihre Datenbank-Engine beim Ausführen Ihrer Tests auf sqlite3 einstellen, Django verwendet eine In-Memory-Datenbank .
Ich verwende Code wie diesen in meiner settings.py
um die Engine beim Ausführen meiner Tests auf sqlite zu setzen:
if 'test' in sys.argv:
DATABASE_ENGINE = 'sqlite3'
Oder in Django 1.2:
if 'test' in sys.argv:
DATABASES['default'] = {'ENGINE': 'sqlite3'}
Und schließlich in Django 1.3 und 1.4:
if 'test' in sys.argv:
DATABASES['default'] = {'ENGINE': 'django.db.backends.sqlite3'}
(Der vollständige Pfad zum Backend ist bei Django 1.3 nicht unbedingt erforderlich, macht die Einstellung aber aufwärtskompatibel.)
Sie können auch die folgende Zeile hinzufügen, falls Sie Probleme mit Südmigrationen haben:
SOUTH_TESTS_MIGRATE = False