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
- ModelViewSet dan Router
- Izin dan Pembatasan Laju
- Autentikasi Token dan JWT
- Pemfilteran, Pencarian, dan Paginasi