Можно ли к миграции привязать Python код

Python Senior Без компании
Можно ли к миграции привязать Python код
Ответы
Да, в Django можно привязать Python-код к миграциям через `RunPython` или `RunSQL`. `RunPython` позволяет выполнить произвольный Python-код при применении (`forwards`) или откате (`backwards`) миграции. Пример: ``` from django.db import migrations def forwards_func(apps, schema_editor): User = apps.get_model('auth', 'User') User.objects.create(username='admin') def reverse_func(apps, schema_editor): User = apps.get_model('auth', 'User') User.objects.filter(username='admin').delete() class Migration(migrations.Migration): dependencies = [('myapp', '0001_initial')] operations = [ migrations.RunPython(forwards_func, reverse_func), ] ``` **Нюансы:** - Используйте `apps.get_model()` вместо прямого импорта моделей. - `reverse_func` необязателен, но желателен для отката. - Для сложных операций предпочтительнее `RunSQL`. - Избегайте бизнес-логики в миграциях — только данные и схема.