Djangoアプリケーションには、元々Django 1.2で記述された部分があり、アプリケーションは1.7までアップグレードされています。1.7にアップグレードした後、 python manage.py check
から次の警告が表示されます。
System check identified some issues:
WARNINGS:
?: (1_6.W001) Some project unittests may not execute as expected.
HINT: Django 1.6 introduced a new default test runner. It looks like this project was generated using Django 1.5 or earlier. You should ensure your tests are all running & behaving as expected. See https://docs.djangoproject.com/en/dev/releases/1.6/#new-test-runner for more information.
エラーメッセージに記載されているURL は、行われた変更の詳細を示しますが、この警告がトリガーされる理由や抑制方法についてのヒントは提供しません。警告メッセージはDjango 1.6を参照していますが、Django 1.7にアップグレードした後にのみ表示され始めました
Django 1.6.1で実行されていたのと同じ数のユニットテストがDjango 1.7で実行されていることを確認しました。
興味のある人のために、問題のアプリケーションは Kompassi と呼ばれるイベント管理システムであり、 Github にあります。
開発者がこの警告を削除することを決定したようです:
明示的に指定していることを明らかにする ブログ投稿 が見つかりました
TEST_RUNNER = 'Django.test.runner.DiscoverRunner'
settings.py
はこの警告の発生を停止します。
このエラーが発生するチェック対象のリストについては、 https://github.com/Django/django/blob/1.7/Django/core/checks/compatibility/Django_1_6_0.py#L42 を参照してください。
SILENCED_SYSTEM_CHECKS 設定を使用すると、個々のシステムチェック警告を消音できます。
この警告がトリガーされた理由を見つける方法についての他の質問に関して、私が見つけた唯一の場所は ソースコード を見ることでした。
テストですべて問題がない場合は、次の手順の1つ(またはすべて)を実行して警告をオフにすることができます。
サイトフレームワークを使用しなくなった場合は、設定からSITE_ID
を削除してください。
BASE_DIR
変数を設定に追加します。
MANAGERS
リストを使用しない場合は、設定から削除してください。
設定でXFrameOptionsMiddleware
ミドルウェアを削除します。 (Django 1.6+とにかく)ではデフォルトで有効になっています)
カスタムTEMPLATE_LOADERS
またはADMINS
が必要ない場合は、削除します(通常は必要なので、しないでください何をしているのかわからない場合)。
これらは、プロジェクトがDjango <1.6によって生成されたかどうかを検出するために、現在のヒューリスティック(Django 1.7.3)がチェックする2つのことです。