Встречается на собеседованиях • сегодня

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

Да, писал. Кастомные миграции в Django нужны для сложных изменений БД, которые не покрываются стандартными makemigrations. Например, для массового обновления данных, изменения схемы с особыми условиями или работы с сырым SQL.

Пример кастомной миграции:

python
from django.db import migrations

def forwards_func(apps, schema_editor):
    # Получаем модель из исторических версий
    User = apps.get_model('auth', 'User')
    # Логика миграции
    for user in User.objects.filter(is_staff=True):
        user.is_superuser = True
        user.save()

def reverse_func(apps, schema_editor):
User = apps.get_model('auth', 'User')
for user in User.objects.filter(is_superuser=True):
user.is_superuser = False
user.save()

class Migration(migrations.Migration):
dependencies = [('auth', 'XXXX_initial')]
operations = [
migrations.RunPython(forwards_func, reverse_func),
]

text

Важно:
- Всегда указывайте `reverse_func` для отката
- Используйте `apps.get_model()` вместо прямого импорта моделей
- Для сырого SQL — `migrations.RunSQL`
- Тестируйте миграции на копии БД перед продакшеном
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы