Задать вопрос
@Lepilov

Как работают и для чего нужны обобщенные связи в Django?

Узнал, что в джанго кроме основных трех видов связей между моделями (MtM, OtO, OtM)есть также обобщенные связи (GenericRelation). Но что то я не могу их понять. Офдок читал, стало немного получше, но все равно был бы благодарен если кто сможет описать простым языком зачем они нужны, в каких случаях стоит применять и как работают.
  • Вопрос задан
  • 162 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
Есть у вас, предположим, модель новости и её можно комментировать, для чего используется модель комментария. А через месяц эксплуатации сайта заказчик захотел ещё и статьи, и чтобы их тоже можно было комментировать. А потом ещё события всякие - театральные премьеры, киносеансы, концерты. И обзоры ресторанов маячат впереди. Вот только ForeignKey может указывать только на конкретную модель. Придётся либо все модели наследовать от общего корня, либо по новой писать модель комментариев и весь сопроводительный код для каждой комментируемой модели. И то, и другое - решение плохое. Выход - обобщённые отношения, позволяющие одну модель комментариев использовать для неопределённо большого круга заранее неизвестных моделей.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Strikt Москва
от 100 000 до 180 000 ₽
ITK academy Саратов
от 75 000 ₽
Sim-Ba Pay Санкт-Петербург
от 180 000 ₽