0Pricing
Django Academy · Pelajaran

Pemfilteran, Pencarian, dan Paginasi

Buat respons API besar mudah digunakan

Pemfilteran, Pencarian, dan Paginasi adalah pelajaran Django Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Django Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Django Academy mencakup 4 pelajaran total.

Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.

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. 🎉

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Pemfilteran, Pencarian, dan Paginasi” gratis?

Ya — teks lengkap “Pemfilteran, Pencarian, dan Paginasi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Django Academy, upgrade ke CoddyKit PRO. Kursus Django Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Pemfilteran, Pencarian, dan Paginasi”?

Buat respons API besar mudah digunakan Kamu berlatih Django Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Django Academy?

Tidak diperlukan pengalaman sebelumnya. Django Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Pemfilteran, Pencarian, dan Paginasi” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Django Academy ini?

Ya. Setiap pelajaran Django Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. ModelViewSet dan Router
  2. Izin dan Pembatasan Laju
  3. Autentikasi Token dan JWT
  4. Pemfilteran, Pencarian, dan Paginasi
← Kembali ke Django Academy