Встречается на собеседованиях • сегодня
Писал ли кастомные миграции на 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`
- Тестируйте миграции на копии БД перед продакшеном
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы