Подтвердить что ты не робот

Django - указать базу данных для приборов TestCase

У меня есть две базы данных, которые использует мой сайт, и у меня есть приложение, которое использует их оба. Мне нужно написать TestCase, который загружает приборы для обеих баз данных. Я использую маршрутизатор DB, который отлично работает в процессе производства, но в рамках тестирования Django настаивает на использовании базы данных по умолчанию для всех приборов, даже для моделей, которые указывают другую базу данных. Как я могу объявить Django для запуска привязки к другой базе данных?

My TestCase - это список:

class VerifierTestCase(TestCase):
    fixtures = ['zipcodes_test.json', 'all_states.json', 'wtf.json']
    multi_db = True
4b9b3361

Ответ 1

В Django есть ошибка, из-за которой он игнорирует указатели на основе имени, основанные на имени, если вы укажете все имя прибора.

поэтому если вы делаете fixtures = ["mydata.default.yaml", "mydata.myotherdatabase.yaml"]

Он загрузит оба светильника в базу данных по умолчанию.

Но если вы делаете fixtures = ['mydata']

Он будет загружаться правильно. Это также справедливо и для имен файлов dbengine (например, mydata.default.postgresql.sql).