blog search
This commit is contained in:
+10
-1
@@ -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})
|
||||
|
||||
Reference in New Issue
Block a user