Django 1.7では、データベースの移行が導入されました。
Django 1.7 で単体テストを実行すると、移行が強制され、時間がかかります。したがって、django の移行をスキップして、最終状態でデータベースを作成したいと思います。
コードのその部分がテストされないため、移行を無視することは悪い習慣になる可能性があることを私は知っています。しかし、そうではありません。CI テスト サーバー (jenkins) で完全な移行を実行しています。速度が重要なローカル テストでの移行をスキップしたいだけです。
いくつかのコンテキスト:
Django 1.6まで、South を使用する場合はSOUTH_TESTS_MIGRATE設定を使用しました。
デフォルトでは、South の syncdb コマンドは、非対話モードで実行されている場合にも移行を適用します。これには、テストの実行時も含まれます。テストを実行するたびに、すべての移行が実行されます。
テスト ランナーで移行の代わりに syncdb を使用する場合 (たとえば、移行の適用に時間がかかりすぎる場合) は、settings.py で SOUTH_TESTS_MIGRATE = False を設定するだけです。
ただし、syncdbはもう存在しません。現在はmigrateになっています。
Django 1.8からは--keepdbパラメータを使用します。
--keepdb オプションを使用して、テスト実行間でテスト データベースを保持できます。これには、作成アクションと破棄アクションの両方をスキップできるという利点があり、特に大規模なテスト スイートの場合、テストの実行時間が大幅に短縮されます。テスト データベースが存在しない場合は、最初の実行時に作成され、その後の実行ごとに保持されます。テスト スイートを実行する前に、未適用の移行もテスト データベースに適用されます。
したがって、この質問は Django 1.7 に限定されています。