From 0bf3ed05c296b03b4c4e17d7c697169e4074dc43 Mon Sep 17 00:00:00 2001 From: Alice Date: Tue, 22 Oct 2019 23:43:22 +0200 Subject: [PATCH] fix kb entry sorting --- kb/models.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kb/models.py b/kb/models.py index 0ed8f04..2410a5d 100644 --- a/kb/models.py +++ b/kb/models.py @@ -1,5 +1,6 @@ from django.db import models from django.db.models.aggregates import Sum +from django.db.models.functions import Coalesce from django.conf import settings from django.urls import reverse from django.template.loader import render_to_string @@ -101,8 +102,8 @@ class KbEntry(models.Model): class KbEntryManager(models.Manager): def get_top(self, n, **kwargs): return (self.filter(internal=False, **kwargs) - .annotate(Sum('vote_set__vote')) - .order_by('-vote_set__vote__sum') + .annotate(score=Coalesce(Sum('vote_set__vote'), 0)) + .order_by('-score', 'id') [:n]) objects = KbEntryManager()