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

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

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

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

python
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),
]

text

Нюансы:  
- Всегда указывайте `dependencies`.  
- Используйте `apps.get_model`, а не прямой импорт моделей.  
- Для отката можно добавить `reverse_code` в `RunPython`.  
- Для сырого SQL — `migrations.RunSQL`.  

Кастомные миграции требуют тестирования, особенно на проде.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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