Встречается на собеседованиях • сегодня
Был ли опыт написания кастомных миграций в Django
Да, опыт есть. Кастомные миграции в Django нужны, когда стандартных операций (makemigrations/migrate) недостаточно. Например, для сложных преобразований данных или работы с сырым SQL.
Пример кастомной миграции (файл 0002_custom_migration.py):
python
from django.db import migrations
def forward_func(apps, schema_editor):
# Получаем модель из исторических версий
User = apps.get_model('auth', 'User')
for user in User.objects.all():
user.username = user.username.lower()
user.save()
class Migration(migrations.Migration):
dependencies = [
('auth', '0001_initial'),
]
text
operations = [
migrations.RunPython(
forward_func,
# Можно указать reverse_func для отката
migrations.RunPython.noop
),
]text
Ключевые моменты:
- Используем `apps.get_model()` вместо прямого импорта моделей
- Можно добавлять сырой SQL через `migrations.RunSQL`
- Важно предусмотреть откат (reverse_func)
- Для сложных миграций лучше разбивать на несколько этапов
Кастомные миграции требуют осторожности, особенно в production, так как могут блокировать таблицы или вызывать проблемы с производительностью.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы