Миграция данных Django с помощью ключей contenttype

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

Для создания предопределенных значений я использую файл приспособлений, который вызывается в миграции следующим образом:

def run_data_populating_fixtures(apps, schema_editor):
    call_command('loaddata', 'apps/app/fixtures/test.json')


class Migration(migrations.Migration):
    dependencies = [
        ('app', '0012'),
        ('contenttypes', '0001_initial'),
        ('core', '0001_initial')
    ]
    operations = [
        migrations.RunPython(run_data_populating_fixtures, elidable=False)
    ]

В таблице, которую я заполняю, есть столбец content_type_id, который является внешним ключом к таблице django_content_type. Это становится проблемой, потому что в момент выполнения миграции данных в таблице не зарегистрировано ни одной модели моего приложения. В основном в фикстуре есть явный ключ, указанный как "content_type": 11, и это вызывает нарушение FK.

Как я могу запустить миграцию данных после того, как в таблице django_content_type будут зарегистрированы мои модели?

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

"content_type": ["core", "mymodel"]

но, похоже, это не помогает, так как выдается ошибка, что не удалось найти такой тип содержимого.

Вернуться на верх