@SerS_tds

Как правильно привязать модель с комментариями к разным моделям?

Есть сайт, в котором есть статьи, фотографии и видео, соответственно есть модели для них, а также есть модель с комментариями, которые можно оставлять под записями. Как правильно привязать все модели с постами к одной модели с комментариями? Можно в каждой модели добавить поле:
comment = models.ForeignKey(Comment)
но тогда вроде получается, что основанная модель это комментарии, а уже к ней привязываю остальные модели, что по логике не очень верно.. Или именно так это и стоит делать?
  • Вопрос задан
  • 50 просмотров
Пригласить эксперта
Ответы на вопрос 3
AlexNest
@AlexNest
Работаю с Python/Django
Опять же, без конкретики сказать сложно, но как по мне - лучше сделать одну общую модель "пост"(условно), к которой и привязать комментарии, после чего формировать "тип" поста с помощью EAV (Entity–attribute–value model).
Ну или иным, более подходящим способом.
Ответ написан
Комментировать
Mi11er
@Mi11er
A human...
Есть такая штука .

from django.contrib.contenttypes.models import ContentType

# В моделе уже можно указать 
comment_owner = models.ForeignKey(ContentType, on_delete=models.CASCADE, null=True)


Не лучшее решение, но рабочее.
Ответ написан
Комментировать
sergey_1990
@sergey_1990
1
https://docs.djangoproject.com/en/4.2/ref/contrib/... -- Generic relations ТЕБЕ СЮДА
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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