Если вы используете Django по умолчанию TestCase
, все тесты выполняются в транзакции, которая откатывается при завершении тестов. Если ваша база данных поддерживает транзакции, вам не придется ничего убирать.
Если вы используете Django LiveServerTestCase
или TransactionTestCase
, все таблицы усекаются после каждого теста, а исходные данные, которые сериализуются перед тестом, перезагружаются в тестовую базу данных. Это не приведет к сохранению данных для перенесенных приложений, только для незарегистрированных приложений.
Опция --keepdb
не будет делать ничего особенного с базой данных. Это просто предотвращает уничтожение тестовой базы данных, и если база данных находится в начале тестов, она используется вместо создания новой. Таким образом, любые данные, которые каким-то образом оставлены в базе данных при завершении тестирования, будут рассматриваться как исходные данные. Это в основном актуально, если некоторая ошибка или пользовательское прерывание предотвращают тесты без транзакций при очистке базы данных. В этом случае может быть хорошей идеей воссоздать базу данных.