Результат зависит от типа management: обычное поле добавит столбец, ForeignKey — внешний ключ, ManyToManyField обычно создаст связующую таблицу. Одного имени поля для точного ответа недостаточно.
Что произойдёт в базе данных после добавления поля `management` в Django-модель и выполнения миграции? Приходилось ли создавать связующие таблицы вручную?
Результат зависит от типа management: обычное поле добавит столбец, ForeignKey — внешний ключ, ManyToManyField обычно создаст связующую таблицу. Одного имени поля для точного ответа недостаточно.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Что произойдёт в базе данных после добавления поля management в Django-модель и выполнения миграции? Приходилось ли создавать связующие таблицы вручную?
Ответ
Результат зависит от типа management: обычное поле добавит столбец, ForeignKey — внешний ключ, ManyToManyField обычно создаст связующую таблицу. Одного имени поля для точного ответа недостаточно.
Для ManyToMany Django автоматически создаёт промежуточную таблицу, если не задан through. Собственная through-модель нужна, например, для роли, даты назначения или других атрибутов связи; её схему также ведут миграциями. Изменение Python-модели само по себе БД не меняет: миграцию сначала создают, затем применяют. Про личный опыт ручных связующих таблиц рассказывают отдельно и фактически.
Источник: docs.djangoproject.com.