Задать вопрос
flygrounder
@flygrounder
Python/Django

Можно ли сделать foreign key к разным моделям?

Допустим в django у меня есть абстрактная модель ArtObject, которая обозначает произведение искусства. У неё есть наследники Song, Picture, Writing, которые похожи, но отличаются. Я хочу добавить модель Review(обзор), которая подходила бы ко всем 3 моделям. Есть идея сделать 2 IntegerField: один отвечает за id того, к чему отзыв, другой за тип этого чего-то, но это выглядит как костыль, чем по сути и является. Так вот, как такое лучше всего реализовать?
  • Вопрос задан
  • 131 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Компьютерная академия «TOP»
    Разработка на Python
    1 год
    Далее
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Django
Седой и строгий
Во-первых, вы можете сделать ForeignKey на сам ArtObject. Во-вторых, ваш велосипед уже придуман и называется GenericRelation.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы