J'essaie de parcourir certaines valeurs et de calculer un rang. J'ai une fonction calculate_rank où je calcule une somme de valeurs. Le problème est à la deuxième fonction. Je veux que le rang d'un utilisateur soit la somme de tous les utilisateurs qui suivent une relation avec lui. Je fais une itération dans la deuxième fonction ici où j'essaie d'ajouter le rang de tous les utilisateurs qui sont dans une relation de suivi avec l'utilisateur envoyé en paramètre. Mon problème est que la valeur retournée est zéro (0). Je suis sûr que je me trompe dans la deuxième fonction, mais je ne vois pas: où?Django itération - calcul d'une somme
def calculate_rank(user):
rank = calculate_questions_vote(user) + calculate_votes(user) + calculate_replies(user)
return rank
def calculate_followers_rank(user):
follower = Relations.objects.filter(follow = user)
follower_rank= 0
for a in follower:
follower_rank += calculate_rank(follower)
return follower_rank
Cela ressemble à un problème. De plus, avoir des objets "Follower" stockés dans un modèle appelé "Relations" est déroutant. –
hmm ... le problème est que si je passe 'a' (pour calculer la somme des rangs des utilisateurs suivant l'utilisateur 'utilisateur'), il semble que ma fonction retourne toujours zéro ... je me demande pourquoi? – dana
Peut-être parce que le filtre sur Relations.objects ne renvoie aucun résultat. Mais j'espère que tu as déjà vérifié ça. Ou envisagez-vous seulement de demander à SO de construire et de déboguer maintenant votre webapp entière pour vous? –