Какой метод есть в миграции для запуска кода Python

Python Junior Без компании
Какой метод есть в миграции для запуска кода Python
Ответы
Для выполнения произвольного кода Python в миграциях Django используется метод `RunPython`. Он принимает два аргумента - функции для применения (`forward_func`) и отмены (`reverse_func`) миграции. Пример: ``` from django.db import migrations def create_initial_data(apps, schema_editor): # Получаем модель из исторической версии MyModel = apps.get_model('myapp', 'MyModel') # Создаем объекты MyModel.objects.create(name='Test') def reverse_create_initial_data(apps, schema_editor): # Удаляем созданные объекты MyModel = apps.get_model('myapp', 'MyModel') MyModel.objects.filter(name='Test').delete() class Migration(migrations.Migration): dependencies = [...] operations = [ migrations.RunPython( create_initial_data, reverse_create_initial_data ), ] ``` Важно: всегда используйте `apps.get_model()` вместо прямого импорта моделей, так как миграции работают с историческими версиями моделей.