Ответ 1
Похоже, разработчики решили удалить это предупреждение:
У меня есть приложение 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.
Ссылка указанная в сообщении об ошибке, подробно описывает сделанные изменения, но не дает никаких подсказок о том, почему это предупреждение запускается или как его подавлять. Несмотря на то, что предупреждающее сообщение ссылается на Django 1.6, оно появляется только после обновления до Django 1.7
Я проверил, что в Django 1.7 выполняется такое же количество модульных тестов, что и в Django 1.6.1.
Для заинтересованных пользователей рассматриваемая заявка представляет собой систему управления событиями, называемую 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.
Что касается вашего другого вопроса о том, как найти причины, по которым было вызвано это предупреждение, единственное место, которое я смог найти, это посмотреть на исходный код.
Если все в порядке с вашими тестами, вы можете просто отключить предупреждение, выполнив одно из следующих шагов:
Удалите SITE_ID
из ваших настроек, если вы больше не используете инфраструктуру сайтов.
Добавьте переменную BASE_DIR
в свои настройки.
Извлеките MANAGERS
список формы, если вы не используете его.
Удалите XFrameOptionsMiddleware
промежуточное ПО в настройках. (Он по умолчанию включен в Django 1.6+)
Удалите пользовательские TEMPLATE_LOADERS
или ADMINS
, если они вам не нужны (обычно вы делаете, поэтому не выполняйте это, если не знаете, что делаете).
Это две текущие эвристики (Django 1.7.3), чтобы определить, был ли ваш проект сгенерирован Django < 1.6.