Миграция данных 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"]
но, похоже, это не помогает, так как выдается ошибка, что не удалось найти такой тип содержимого.