Как автоматически добавить повторяющиеся миграции данных в Django с помощью Djangos ORM?
Я новичок в Django и прочитал базовый и продвинутый учебник, а также некоторые части документации по миграциям и миграциям данных: https://docs.djangoproject.com/en/4.0/topics/migrations/#data-migrations Также я читал о фикстурах, но это, кажется, подходит только для начального предоставления данных: https://docs.djangoproject.com/en/4.0/howto/initial-data/#providing-data-with-fixtures
Задача, которую я хочу решить - массовая многократная вставка данных "извне" чистым способом с использованием Djangos ORM и всех преимуществ миграций. Пока что я не нашел полноценного примера, как это сделать, потому что использование первого варианта миграции данных потребует обращения к файлу каждый раз, когда я вставляю/мигрирую новые данные.
Есть подсказки, как этого добиться, или я чего-то не понимаю?
Заранее спасибо!
Вы можете создать пустую миграцию с помощью
python manage.py makemigrations --empty yourappname
Затем определите несколько функций с данными, которые вы хотите заполнить, следующим образом:
from django.db import migrations
def create_estado(apps, schema_monitor):
'''
Create estado of empaque
'''
Estado = apps.get_model('empaques_app', 'Estado_empaque')
Estado.objects.create(nombre='Bueno')
Estado.objects.create(nombre='Dañado')
Estado.objects.create(nombre='Reparando')
class Migration(migrations.Migration):
dependencies = [
('empaques_app', '0001_initial'),
]
operations = [
migrations.RunPython(create_estado)
]
Мне кажется, вы упускаете суть миграций. Используйте их, если вы хотите изменить схему базы данных или вставить некоторые данные один раз. В вашем случае следует использовать команды управления .