From c36486917064d08acbcd41c67f6de916eb92dbff Mon Sep 17 00:00:00 2001 From: Corban-Lee Jones Date: Sun, 29 Sep 2024 19:07:43 +0100 Subject: [PATCH] correctly filter content by related subscription --- apps/api/views.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/api/views.py b/apps/api/views.py index 78d21c4..07a61d2 100644 --- a/apps/api/views.py +++ b/apps/api/views.py @@ -172,14 +172,15 @@ class Subscription_DetailView(ChangableDetailView): class Content_ListView(ListCreateView): - filterset_fields = ("id", "subscription", "item_id", "item_guid", "item_url", "item_title", "item_content_hash") + filterset_fields = ("id", "subscription", "subscription__server", "item_id", "item_guid", "item_url", "item_title", "item_content_hash") search_fields = ("item_id", "item_guid", "item_url", "item_title", "item_content_hash") ordering_fields = ("id", "subscription", "item_id", "item_guid", "item_url", "item_title", "item_content_hash") serializer_class = ContentSerializer def get_queryset(self): servers = ServerMember.objects.filter(user=self.request.user).values_list("server", flat=True) - return Content.objects.filter(server__in=servers) + subscriptions = Subscription.objects.filter(server__in=servers).values_list("id", flat=True) + return Content.objects.filter(subscription__in=subscriptions).order_by("-subscription__created_at", "id") class Content_DetailView(ChangableDetailView): @@ -187,7 +188,8 @@ class Content_DetailView(ChangableDetailView): def get_queryset(self): servers = ServerMember.objects.filter(user=self.request.user).values_list("server", flat=True) - return Content.objects.filter(server__in=servers) + subscriptions = Subscription.objects.filter(server__in=servers).values_list("id", flat=True) + return Content.objects.filter(subscription__in=subscriptions).order_by("-subscription__created_at", "id") class UniqueContentRule_ListView(ListCreateView):