Использование request.user показывает данные, которые пользователь создал в приложении Как я могу показать эти данные другим пользователям?
Я создал q и платформу для студентов университета и успешно реализовал функцию like в ней, и теперь я хочу показать количество like в профиле пользователя, я также успешно добавил количество likes в профиль каждого пользователя, но проблема была только в том, что пользователь, который получает likes от модели ответа может видеть количество likes в своем профиле, Как я могу позволить другим пользователям видеть количество likes в своем профиле, когда кто-то любит свой ответ в приложении, я знал, используя request.user показывает только контент, который пользователь владеет в приложении.
для тех, кто не может понять мой вопрос:
In stack Overflow when someone voted your question or answer, You will
get 10 reputation, and other's user's can see the number of the
reputation you get from a question or answer. This is the same
functionality with stack Overflow.
шаблон профиля пользователя:
<br>
<br>
<div class="container">
<div class="row justify-content-center">
<div class="col">
<div class="text-center">
<span class="badge bg-secondary">{{number_of_likes}}</span>
<br>
<br>
<a href="" class="btn btn-primary">
Number Of Votes:
</a>
<br>
</div>
</div>
</div>
</div>
мои взгляды:
def public_profile(request, slug):
profile = get_object_or_404(Profile, slug=slug)
number_of_likes = Like.objects.filter(post__user=request.user).count()
context = {
'profile':profile,
'number_of_likes':number_of_likes
}
return render(request, 'public_profile.html', context)
def like_answer(request, pk):
answer = get_object_or_404(Answer, pk=pk)
Like.objects.get_or_create(post=answer, user=request.user)
return redirect('view-Question', answer.post.slug)
мои модели:
class Answer(models.Model):
user = models.ForeignKey(User, blank=False, null=False, on_delete=models.CASCADE)
answer = RichTextField(blank=False, null=False)
post = models.ForeignKey(Question, blank=False, null=False, on_delete=models.CASCADE)
def __str__(self):
return str(self.user)
class Like(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
post = models.ForeignKey(Answer, on_delete=models.CASCADE)
created = models.DateTimeField(auto_now_add=True)
def __str__(self):
return str(self.user)