Django Academy · Ders

Filtreleme, Arama ve Sayfalama

Büyük API yanıtlarını kullanılabilir hâle getirin.

4. ders / 413 adım

Filtreleme, Arama ve Sayfalama, CoddyKit'te ücretsiz bir Django Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Django Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Django Academy kursu toplamda 4 dersten oluşur.

Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.

Big Responses Are a Problem

Returning thousands of rows in one response is slow and unwieldy. DRF gives you filtering, search, and pagination to keep payloads usable.

Why Pagination First

Pagination splits a large list into pages, so clients fetch a slice at a time instead of everything at once.

Turning On Pagination

Set a default pagination class and page size in settings, and every list view starts paginating automatically.

REST_FRAMEWORK = {
    'DEFAULT_PAGINATION_CLASS':
        'rest_framework.pagination.PageNumberPagination',
    'PAGE_SIZE': 10,
}

The Paginated Shape

PageNumberPagination wraps results with count, next, and previous links, so clients can walk through pages easily. 📄

Pagination Styles

Pick a style: PageNumberPagination uses page numbers, while LimitOffsetPagination lets clients ask for a limit and offset directly.

Now, Filtering

Filtering narrows results by exact field values, like asking only for books where the author id is 5.

Adding DjangoFilterBackend

Install django-filter, enable DjangoFilterBackend, and list the fields clients may filter on with filterset_fields.

class BookViewSet(viewsets.ModelViewSet):
    queryset = Book.objects.all()
    filterset_fields = ['author', 'published_year']

Filters as Query Params

Clients filter through the URL query string, so a request like /books/?author=5 returns only that author's books. 🔍

Search vs Filter

SearchFilter does fuzzy text matching across fields, while filtering matches exact values. Search is for free-text queries.

Enabling Search Fields

Add SearchFilter and list the columns to scan in search_fields. Clients then pass a search term with the search query param.

from rest_framework.filters import SearchFilter

class BookViewSet(viewsets.ModelViewSet):
    filter_backends = [SearchFilter]
    search_fields = ['title', 'author__name']

Ordering Results

Add OrderingFilter so clients can sort with ordering=title or ordering=-price for descending order, all from the URL.

Quick Check

Make sure you can tell these tools apart.

Recap: Usable API Responses

You can now slice lists with pagination, narrow them with filters, find text with search, and sort with ordering. Your API stays fast and friendly. 🎉

Başlamak ücretsiz

Yapay zeka eğitmeniyle Python öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
30
Dersler
120

Sıkça Sorulan Sorular

“Filtreleme, Arama ve Sayfalama” dersi ücretsiz mi?

Evet — “Filtreleme, Arama ve Sayfalama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Django Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Django Academy kursu toplamda 4 dersten oluşur.

“Filtreleme, Arama ve Sayfalama” dersinde ne öğreneceğim?

Büyük API yanıtlarını kullanılabilir hâle getirin. Django Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Django Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Django Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Filtreleme, Arama ve Sayfalama” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Django Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Django Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. ModelViewSet ve Yönlendiriciler
  2. İzinler ve Hız Sınırlama
  3. Token ve JWT Kimlik Doğrulaması
  4. Filtreleme, Arama ve Sayfalama
← Django Academy Sayfasına Dön