Как правильно привязать модель с комментариями к разным моделям?
Есть сайт, в котором есть статьи, фотографии и видео, соответственно есть модели для них, а также есть модель с комментариями, которые можно оставлять под записями. Как правильно привязать все модели с постами к одной модели с комментариями? Можно в каждой модели добавить поле: comment = models.ForeignKey(Comment)
но тогда вроде получается, что основанная модель это комментарии, а уже к ней привязываю остальные модели, что по логике не очень верно.. Или именно так это и стоит делать?
Опять же, без конкретики сказать сложно, но как по мне - лучше сделать одну общую модель "пост"(условно), к которой и привязать комментарии, после чего формировать "тип" поста с помощью EAV (Entity–attribute–value model).
Ну или иным, более подходящим способом.
from django.contrib.contenttypes.models import ContentType
# В моделе уже можно указать
comment_owner = models.ForeignKey(ContentType, on_delete=models.CASCADE, null=True)