Я пытаюсь запустить тесты с данными приборов и получаю печально известную ошибку IntegrityError: column user_id is not unique
.
Теперь, глядя на мои приборы, я вижу, что идентификаторы моих пользовательских моделей в моем прибореуникальны между собой.Я делаю вывод, что конфликт происходит с существующими данными в (не тестовой) базе данных.Это правильно?( Редактировать: Это кажется неправильным - см. Ниже)
Я хочу иметь возможность точно контролировать, какие данные доступны для моих тестов.Есть ли способ запретить загрузчику тестов django загружать данные из моей действующей базы данных, а также данные о моих приборах?( Редактировать: Да - см. Ответ Тибо).
Редактировать: Переключение на использование чистой базы данных в памяти, согласно ответу Тибо, не решает проблему.Соответственно, я делаю вывод, что моя существующая база данных dev не является проблемой.
Итак, у меня третий вопрос: Как мне диагностировать причину ошибки IntegrityError при загрузке приборов во время тестирования? (И как мне это исправить?)
Редактировать 2: Решение моей проблемы, помимо запуска с чистой базой данных (согласно Thibault J), также заключалось в исключении моделей из установленныхприложения, ссылающиеся на пользователя, до тех пор, пока ошибка не исчезнет.
Другое предложение DrTyrsa (кроме просмотра данных) заключалось в использовании естественных ключей , которые для пользователя, несомненно, потребовали быопределенное количество исправлений обезьян или других хакерских атак (изменить код для пользователя?).