Я делаю несколько функций просмотра, чтобы вычислить рейтинг одного пользователя в сообществе.
Моя проблема в том, что я хочу отобразить рейтинг, привязанный к каждому пользователю, в своем профиле, и я не знаю как, поскольку у меня нет запроса и render_to_response (потому что я догадался, что они не нужны)
мой код:
def calculate_questions_vote(request):
useranswer = Answer.objects.filter (answer_by = request.user)
positive_votes = VoteUpAnswer.objects.filter(answer = useranswer)
negative_votes = VoteDownAnswer.objects.filter(answer = useranswer)
question_vote_rank = sum(positive_votes) - sum(negative_votes.count)
return question_vote_rank
def calculate_replies(request):
the_new = News.objects.filter(created_by = request.user)
reply = Reply.objects.filter(reply_to = the_new)
reply_rank = sum(reply)
return reply_rank
def calculate_votes(request):
the_new = News.objects.filter(created_by = request.user)
vote = Vote.objects.filter(voted = the_new)
vote_rank = sum(vote)
return vote_rank
def personal_rank(request):
personal_rank = question_vote_rank + reply_rank + vote_rank
return personal_rank
и в пользовательских профилях:
user = request.user
personal_rank = calculate_questions_vote(user) + calculate_replies(user) + personal_rank(user)
но моя ошибка:
Ошибка привязки параметра 0 - возможно, неподдерживаемый тип.
Верен ли подход mt? Как мне вызвать функцию ранга в определении profile_view?
Спасибо!