diff --git a/district/models.py b/district/models.py index 3ccbf6fcce30f58544c41f71fdde8b5aee836f89..c006cba7b4e1c99088219d88e0c4c8f30c357dc6 100644 --- a/district/models.py +++ b/district/models.py @@ -585,7 +585,7 @@ class DistrictArticlesPage( tag = None try: - tag = Tag.objects.filter(tag__slug=request.GET["tag"])[0].tag + tag = Tag.objects.filter(slug=request.GET["tag"])[0] article_page_qs = self.append_all_shared_articles( DistrictArticlePage.objects.filter( id__in=site_article_ids, tags__slug=tag.slug @@ -603,7 +603,7 @@ class DistrictArticlesPage( return { "article_page_list": Paginator( - article_page_qs.order_by("-date"), + article_page_qs, self.max_items, ).get_page(request.GET.get("page")), "tag": tag, @@ -616,10 +616,11 @@ class DistrictArticlesPage( """ return self.search_tags_by_article_id( site_article_ids, - additional_query=lambda query: query.annotate(count=models.Count("slug")), - custom_query_to_values=lambda query: query.order_by("slug").values( - "name", "slug", "count" - ), + custom_query_to_values=lambda query: query.annotate( + count=models.Count("slug") + ) + .order_by("slug") + .values("name", "slug", "count"), ) diff --git a/shared/models.py b/shared/models.py index eef7456d9567f9b8c5a36874b69ade1fdd69900a..086796e2ecbaa830448b5c7bf1f2277104d562b1 100644 --- a/shared/models.py +++ b/shared/models.py @@ -465,7 +465,7 @@ class ArticlesMixin(models.Model): self, previous_query: models.QuerySet | None = None, filter=None ): results = self.append_all_shared_articles_query(previous_query, filter) - return results.values_list("id", Flat=True) + return results.values_list("id", flat=True) def append_all_shared_articles( self, previous_query: models.QuerySet | None = None, filter=None @@ -557,12 +557,13 @@ class ArticlesMixin(models.Model): union = district_tags.union(uniweb_tags).union(main_tags) + union = union.values_list("id") + tag_query = Tag.objects.filter(id__in=union) + if custom_query_to_values is not None: - union = custom_query_to_values(union) - return union - else: - union = union.values_list("id") - return Tag.objects.filter(id__in=union) + tag_query = custom_query_to_values(tag_query) + + return tag_query def search_tags_by_tag_name(self, tag: str): return {