diff --git a/korektury/models.py b/korektury/models.py index 240323a8..42e0ad6e 100644 --- a/korektury/models.py +++ b/korektury/models.py @@ -5,6 +5,7 @@ from django.utils import timezone from django.conf import settings from django.utils.encoding import force_text from django.core.exceptions import ObjectDoesNotExist +from django.utils.functional import cached_property from django.utils.text import get_valid_filename from seminar.models import Organizator @@ -122,6 +123,7 @@ class KorekturovanePDF(models.Model): # uložíme png a změněný počet stran self.convert() + @cached_property def cislo_a_tema(self): nazev_split = self.nazev.split() try: diff --git a/korektury/views.py b/korektury/views.py index 97a34dbf..b7a47100 100644 --- a/korektury/views.py +++ b/korektury/views.py @@ -59,7 +59,7 @@ class KorekturySeskupeneListView(KorekturyAktualniListView): # {% regroup %} potřebuje dostat správně setříděné názvy, aby nedělal duplikáty def get_queryset(self, *args, **kwargs): qs = super().get_queryset(**kwargs) - return qs.order_by('nazev') + return reversed(sorted(qs, key=lambda it: it.cislo_a_tema)) ### Korektury class KorekturyView(generic.TemplateView):