all(), get() dan filter()
Cara teras untuk mendapatkan semula objek.
all(), get() dan filter() ialah pelajaran Django Academy percuma di CoddyKit. Ini ialah pelajaran 1 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Django Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Django Academy merangkumi sejumlah 4 pelajaran.
Kenali Pengurus
Setiap model memberikan anda pengurus objects secara percuma. Ia ialah pintu masuk anda ke pangkalan data dan setiap pertanyaan yang ditulis bermula daripadanya. 🚪
Book.objectsAmbil Semuanya
Panggil all() untuk meminta setiap baris dalam jadual. Anda akan menerima QuerySet yang boleh diulang, dihitung atau diperincikan lagi.
books = Book.objects.all()QuerySet Bukan Senarai
QuerySet kelihatan seperti senarai tetapi bersifat malas. Django menunggu untuk mengakses pangkalan data sehingga anda benar-benar menggunakan hasilnya.
Ambil Tepat Satu
Gunakan get() apabila anda menjangka satu baris yang sepadan, seperti satu rekod yang ditemui melalui kunci utama.
book = Book.objects.get(pk=1)Apabila get() Gagal
get() bersifat tegas. Jika tiada padanan, ia menghasilkan DoesNotExist, jadi gunakannya hanya apabila anda pasti satu baris wujud.
Book.objects.get(pk=999)Terlalu Banyak Padanan
Jika get() menemui lebih daripada satu baris, ia menghasilkan MultipleObjectsReturned. Ia benar-benar bermaksud satu dan hanya satu.
Tapis Sebahagian
Gunakan filter() apabila anda mahukan baris yang sepadan dengan suatu syarat. Ia mengembalikan QuerySet walaupun hanya satu baris sepadan.
Book.objects.filter(published=True)Filter Mengembalikan Sifar atau Lebih
Berbeza daripada get(), filter() tidak pernah menghasilkan ralat apabila tiada padanan. Sebaliknya, anda menerima QuerySet kosong.
Book.objects.filter(author="Nobody")Pelbagai Syarat
Hantarkan beberapa argumen kata kunci kepada filter() dan Django menggabungkannya dengan AND. Setiap syarat mestilah benar.
Book.objects.filter(published=True, year=2024)get berbanding filter secara Ringkas
Gunakan get() untuk satu objek yang pasti dan filter() untuk koleksi. Pilihan mudah ini mengelakkan kebanyakan ralat pertanyaan pemula.
Rantaikan Penapis
Oleh sebab filter() mengembalikan QuerySet, anda boleh merantaikan panggilan untuk mengecilkan hasil langkah demi langkah sebelum pangkalan data diakses.
Book.objects.filter(published=True).filter(year=2024)Semakan Pantas
Anda menjangka satu buku tetapi tiada padanan. Panggilan manakah yang menghasilkan ralat?
Ringkasan
Syabas! all() mengambil semuanya, get() mengambil satu baris tepat dan filter() mengembalikan sebahagian hasil yang boleh dirantaikan. 🎉
Pelajari Python dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Soalan Lazim
Adakah pelajaran “all(), get() dan filter()” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Django Academy, termasuk “all(), get() dan filter()”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Django Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “all(), get() dan filter()”?
Cara teras untuk mendapatkan semula objek. Anda berlatih Django Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Django Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Django Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 4.
Berapa lamakah pelajaran “all(), get() dan filter()” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Django Academy ini?
Ya. Setiap pelajaran Django Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- all(), get() dan filter()
- Carian Medan dan exclude()
- order_by, Pemotongan dan Penilaian Malas
- values, values_list dan count