Я столкнулся с проблемой, которую у меня больше нет идей, как ее решить.
Мне нужно проверить данные, которые возвращаются прямым запросом из базы данных. Во время выполнения TestCase django.db.connection.cursor()
возвращает данные из основной базы данных, а не из тестовой, которые содержат приборы, подготовленные для этого теста.
Я пытался использовать оба TestCase и TransactionalTestCase . Я попробовал отладку, проверил значения переменных и обнаружил, что connection точно указывает на тестовую базу данных.
Знаете ли вы, почему он возвращает данные из основной базы данных? Есть ли случай, когда Django копирует данные из основной базы данных в эту, созданную для целей тестирования?
Я использую: Python 3.6.5
, Django 2.1
, pytest 4.6.3
, pytest-django 3.5
Заранее благодарен за любую поддержку.
Follow-up
Уважаемые
Эта проблема возникает только при попытке выполнить пользовательский необработанный SQL-запрос напрямую внутри Контрольный пример. Получение объектов по стандартному Django QuerySets работает нормально.
Есть ли у вас какие-либо идеи, почему этот конкретный способ получения данных из базы данных не работает во время выполнения теста?