diff --git a/backend/blog/views.py b/backend/blog/views.py index 48dcfa7..f450023 100644 --- a/backend/blog/views.py +++ b/backend/blog/views.py @@ -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})