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

Subscribe Dengan Account Google Untuk Membaca Artikel Tanpa Iklan !
Cara Mudah Filter Data di Django: Kuasai Queryset AND & OR
ADVAN Smart AI CCTV Indoor

ADVAN Smart AI CCTV Indoor

ADVAN Smart IP Camera ID3, Smart Camera CCTV Indoor untuk merekam semua aktivitas yang terjadi di dalam rumah maupun kantor Anda sehingga memberikan keamanan. Kamera ini dilengkapi lensa 3MP dengan tingkat resolusi yang tinggi, dapat mencapai resolusi 2K. Selain itu mendukung pelacakan gerakan, dan mendukung komunikasi real-time dua arah.

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 :