Миграции Django: базовые данные с тестами

Я добавляю некоторые базовые данные в базу данных с помощью миграций базы данных Django. Базовые данные состоят из предопределенных значений типов, которые доступны всем пользователям. Существует также возможность создания пользовательских типов пользователями.

Проблема в том, что при запуске тестов с опцией --keepdb таблицы будут промыты, а также будут удалены базовые данные. Без опции --keepdb тесты выполняются значительно медленнее.

Есть ли способ создать базовые данные, чтобы они были доступны для тестов с опцией --keepdb? Или есть ли способ запускать тесты так, чтобы базовые данные были доступны без повторного выполнения всех миграций?


Созданные мною миграции выглядят следующим образом:

def set_default_values(apps, schema_editor):
    Type = apps.get_model('app1', 'Type')

    Type(name='name1', user=None).save()
    Type(name='name2', user=None).save()
    Type(name='name3', user=None).save()

class Migration(migrations.Migration):
    # ...

    operations = [
        migrations.RunPython(set_default_values, elidable=True)
    ]
Вернуться на верх