Cara Mudah Filter Data di Django: Kuasai Queryset AND & OR

Subscribe dengan Account Google untuk mendapatkan News Letter terbaru dari Halovina !
Cara Mudah Filter Data di Django: Kuasai Queryset AND & OR
DVAN Tab VX Neo (4GB+4GB/128GB)

DVAN Tab VX Neo (4GB+4GB/128GB)

ADVAN TAB VX NEO adalah tablet terbaru dari Advan yang memiliki design elegant, stylish dan modern, serta memiliki kinerja yang sangat baik untuk mendukung produktifitas pengguna seperti bermain game, bekerja, belajar, daring (Zoom, Google meet, dll) .

Free Klik Disini !

Hai para developer Django!


Pernah kesulitan memfilter data di aplikasi web kamu?


Tenang, di tutorial kali ini kita akan membahas tuntas cara mudah memfilter data di Django menggunakan Queryset dengan logika AND & OR.


Ini penting banget lho, apalagi kalau kamu berurusan dengan data yang kompleks.

Apa itu Queryset?


Singkatnya, Queryset adalah representasi dari sekumpulan data dari database kamu.


Django menggunakan Queryset untuk berinteraksi dengan database secara efisien.



Nah, dengan Queryset ini, kita bisa melakukan berbagai operasi, termasuk memfilter data.


1) Filter dengan Logika AND (&):


Logika AND digunakan untuk mencari data yang memenuhi kedua kondisi.


Contohnya, kita ingin mencari semua buku yang ditulis oleh pengarang "Budi" dan diterbitkan setelah tahun 2020. Dalam kode Django, kita bisa melakukannya seperti ini:


Buku.objects.filter(pengarang="Budi", tahun_terbit__gt=2020)


2) Filter dengan Logika OR (|):


Sebaliknya, logika OR digunakan untuk mencari data yang memenuhi salah satu kondisi.


Misalnya, kita ingin mencari semua buku yang ditulis oleh pengarang "Budi" atau memiliki genre "Fiksi".


Kodenya seperti ini:


from django.db.models import Q

Buku.objects.filter(Q(pengarang="Budi") | Q(genre="Fiksi"))



3) Menggabungkan AND & OR:


Kabar baiknya, kita juga bisa menggabungkan logika AND dan OR untuk filter yang lebih kompleks.


Misalnya, mencari buku yang ditulis oleh "Budi" dan diterbitkan setelah 2020, atau buku yang bergenre "Misteri".


Buku.objects.filter(
(Q(pengarang="Budi") & Q(tahun_terbit__gt=2020)) | Q(genre="Misteri")
)

Keuntungan Menguasai Filter Queryset:



  • Efisiensi: Query database lebih optimal.

  • Fleksibilitas: Filter data sesuai kebutuhan yang kompleks.

  • Kode Lebih Bersih: Logika filter lebih terstruktur dan mudah dibaca.



Baca artikel lainya :