Встречается на собеседованиях • сегодня
Писал ли кастомные миграции в Django
Да, писал. Кастомные миграции в Django нужны, когда стандартного makemigrations недостаточно — например, для сложных преобразований данных, работы с сырым SQL или нестандартных операций с БД.
Пример:
python
from django.db import migrations
def forwards_func(apps, schema_editor):
# Получаем модель из исторических версий
User = apps.get_model('auth', 'User')
# Массовое обновление записей
User.objects.filter(is_staff=False).update(is_active=False)
class Migration(migrations.Migration):
dependencies = [('auth', 'XXXX_previous_migration')]
operations = [
migrations.RunPython(forwards_func, migrations.RunPython.noop)
]
text
**Нюансы:**
- Используй `apps.get_model()`, а не прямой импорт моделей.
- Для отката (`reverse`) либо реализуй функцию, либо используй `noop`.
- В `RunSQL` можно выполнять сырые запросы, но осторожно с кросс-БД совместимостью.
- Тестируй миграции на копии базы перед применением в продакшене.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы