0Pricing
Django Academy · Pelajaran

ModelViewSet dan Router

Hasilkan rute CRUD secara otomatis

ModelViewSet dan Router adalah pelajaran Django Academy gratis di CoddyKit. Ini adalah pelajaran 1 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.

Masalah Pengulangan CRUD

Menulis operasi daftar, buat, ambil, perbarui, dan hapus secara manual berarti menghasilkan banyak kode yang hampir sama. ViewSet menggabungkan semuanya dalam satu kelas yang rapi.

Berkenalan dengan ModelViewSet

ModelViewSet menyediakan CRUD lengkap untuk sebuah model dengan hampir tanpa kode. Arahkan ke queryset dan serializer, lalu biarkan sisanya ditangani.

from rest_framework import viewsets

class BookViewSet(viewsets.ModelViewSet):
    queryset = Book.objects.all()
    serializer_class = BookSerializer

Dua Atribut yang Menangani Semuanya

Dua baris tersebut sudah mencakup seluruh kelas. kumpulan kueri menentukan baris mana yang diproses, sedangkan kelas serializer menentukan cara mengubahnya menjadi JSON. 📦

Tindakan yang Anda Dapatkan Secara Otomatis

ModelViewSet menyediakan lima tindakan: membuat daftar, membuat, mengambil, memperbarui, memperbarui sebagian, dan menghapus. Anda tidak perlu menulis satu pun secara manual.

Alasan Router Dibutuhkan

ViewSet mengelompokkan tindakan, tetapi URL tetap perlu dihubungkan. router membaca ViewSet Anda dan membuat semua pola URL secara otomatis.

Mendaftarkan dengan DefaultRouter

Buat DefaultRouter, daftarkan ViewSet Anda dengan sebuah awalan, dan router tersebut akan membuat seluruh kumpulan URL untuk Anda.

from rest_framework.routers import DefaultRouter

router = DefaultRouter()
router.register(r'books', BookViewSet)

Memasukkan URL Router

Router menyediakan router.urls, yaitu daftar pola yang siap digunakan. Tambahkan daftar tersebut ke urlpatterns, dan titik akhir langsung aktif.

urlpatterns = [
    path('api/', include(router.urls)),
]

URL yang Baru Saja Anda Buat

Mendaftarkan satu ViewSet memberi Anda /books/ untuk membuat daftar dan membuat data, serta /books/{id}/ untuk mengambil, memperbarui, dan menghapus data. 🚀

Kata Kerja HTTP Dipetakan ke Tindakan

Router memetakan kata kerja ke tindakan: GET menampilkan daftar, POST membuat data, GET dengan id mengambil data, PUT atau PATCH memperbarui data, dan DELETE menghapus data. Satu ViewSet, enam perilaku.

DefaultRouter vs SimpleRouter

DefaultRouter menambahkan tampilan akar API yang praktis untuk mencantumkan titik akhir Anda. SimpleRouter melewati bagian tersebut jika Anda menginginkan kumpulan URL yang lebih ringkas.

Menambahkan Tindakan Khusus

Memerlukan titik akhir tambahan? Dekorator @action menambahkan rute khusus ke ViewSet tanpa harus keluar dari kelas.

from rest_framework.decorators import action

@action(detail=True, methods=['post'])
def favorite(self, request, pk=None):
    ...

Pemeriksaan Singkat

Saatnya memastikan pemahaman Anda tentang hubungan ViewSet dan router.

Rangkuman: CRUD dalam Beberapa Baris

Anda telah mempelajari bahwa ModelViewSet bersama router dapat mengubah dua kelas singkat menjadi API CRUD lengkap, dengan URL rapi yang dibuat secara otomatis. Bagus sekali! 🎉

Pertanyaan yang Sering Diajukan

Apakah pelajaran “ModelViewSet dan Router” gratis?

Ya — teks lengkap “ModelViewSet dan Router” 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 “ModelViewSet dan Router”?

Hasilkan rute CRUD secara otomatis 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 1 dari 4.

Berapa lama pelajaran “ModelViewSet dan Router” 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