Делал ли кастомные миграции в Django

Python Junior Без компании
Делал ли кастомные миграции в Django
Ответы
Да, делал. Кастомные миграции в Django нужны для сложных изменений БД, которые не покрываются стандартными `makemigrations`. Например, массовые обновления данных, работа с сырыми SQL или нестандартные операции. Пример кастомной миграции: ``` from django.db import migrations def forwards_func(apps, schema_editor): MyModel = apps.get_model('myapp', 'MyModel') for obj in MyModel.objects.filter(status='old'): obj.status = 'new' obj.save() class Migration(migrations.Migration): dependencies = [('myapp', 'previous_migration')] operations = [ migrations.RunPython(forwards_func), ] ``` Нюансы: - Всегда указывайте `dependencies`. - Используйте `apps.get_model`, а не прямой импорт моделей. - Для отката можно добавить `reverse_code` в `RunPython`. - Для сырого SQL — `migrations.RunSQL`. Кастомные миграции требуют тестирования, особенно на проде.