Показать все комментарии от определенного пользователя в django

Я пытаюсь объединить все комментарии, по различным продуктам, от вошедшего пользователя на странице "Account".

Мой первоначальный план состоял в том, чтобы запрашивать все комментарии по идентификатору пользователя.

Поскольку я создал модель профиля, я подумал, что правильным подходом будет связать ее с id профиля, а не напрямую с id использования.

Очевидно, что это не работает.

Я близок к этому? Или я должен думать об этом совершенно по-другому? (новичок в программировании, как видно по коду)

Начинаю с моего models.py

class ReviewRating(models.Model):
    user = models.ForeignKey(User,blank=True, on_delete=models.CASCADE)
    product=models.ForeignKey(Product,related_name="comments", on_delete=models.CASCADE)
    review=models.TextField(max_length=250)

    def __str__(self):
        return '%s - %s - %s'%(self.user, self.product, self.date_added)

class Profile(models.Model):
    user = models.OneToOneField(User, null=True, on_delete=models.CASCADE)
    general_reviews = models.ForeignKey(ReviewRating,null=True, on_delete=models.CASCADE)
 

def str(self): return str(self.user)

Views.py

def account(response, profile_id):
    generalreviews_list = Profile.general_reviews.objects.all(pk=profile_id)
    return render(response,"main/account.html", {'generalreviews_list':generalreviews_list})

УРЛЫ

path("account/<profile_id>/", views.account, name="account"),

Лучший способ - связать его с основной моделью пользователя, в вашем случае лучше всего связать его с user_id. После этого вы можете использовать следующий запрос для доступа ко всем комментариям, сделанным текущим зарегистрированным пользователем.

current_user = request.user
queryset_obj = Model.objects.filter(foreign_key_field_name=current_user)

Вам необходимо добавить атрибут related_name к полю пользователя в разделе ReviewRating

class ReviewRating(models.Model):
    user = models.ForeignKey(User,blank=True, on_delete=models.CASCADE, related_name="comments") 

Вот и все! Вы можете использовать его в HTML профиля следующим образом:

profile.html:

{% for comment in request.user.comments %}
    {{ comment.review }}
{% endfor %}
Вернуться на верх