blog search

This commit is contained in:
Parsa Nazer
2025-01-30 01:43:48 +03:30
parent 07263a4de8
commit f1ee153e9e
+10 -1
View File
@@ -6,7 +6,7 @@ from .serializers import AllBlogSerilizer, BlogSerilizer
from django.shortcuts import get_object_or_404
from utils.pagination import StructurePagination
from drf_spectacular.utils import extend_schema, OpenApiParameter, OpenApiTypes
from django.db.models import Q
class AllBlogView(APIView):
@@ -15,6 +15,12 @@ class AllBlogView(APIView):
authentication_classes = []
@extend_schema(
parameters=[
OpenApiParameter(
name="search",
description="بگرددددد تو بلاااااگگگووووو",
required=False,
type=OpenApiTypes.STR,
),
OpenApiParameter(
name="limit",
description="لیمیتش",
@@ -35,6 +41,9 @@ class AllBlogView(APIView):
)
def get(self, request):
blogs = BlogModel.objects.filter(is_published=True)
search_query = request.query_params.get('search', None)
if search_query:
blogs = blogs.filter(Q(title__icontains=search_query) | Q(content__icontains=search_query))
paginator = self.pagination_class()
paginated_blogs = paginator.paginate_queryset(blogs, request)
blog_ser = self.serializer_class(instance=paginated_blogs, many=True, context={'request': request})