Ваш комментарий должен иметь ForeignKey для UserProfile или продукта, т. Е. Один комментарий может принадлежать только одному продукту или профилю пользователя, но профиль / продукт пользователя может иметь много разных комментариев
def Comment(models.Model):
profile = models.ForeignKey(UserProfile)
product = models.ForeignKey(Profile)
Очевидно, что это не идеально, так как вам нужно управлять двумя отношениями, а иногда вам захочется использовать только одно и т. Д.
Чтобы преодолеть это, вы можете использовать общий внешний ключ:
https://docs.djangoproject.com/en/dev/ref/contrib/contenttypes/#generic-relations
позволяет связать комментарий с любым типом контента (продукты, профили пользователей и т. Д.) Без предварительного указания моделей
def Comment(models.Model):
...
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey('content_type', 'object_id')