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
Lenovo LOQ Gaming 15IRX9 Intel Core i5

Lenovo LOQ Gaming 15IRX9 Intel Core i5

Lenovo LOQ 15IRX9 83DV00A8ID - CI5-13450HX/12GB/512GB/RTX3050 6GB/15.6 FHD IPS/WIN11+OHS2021/LUNA GREY - FREE GIFT - MOUSE - BACKPACK - PERFORMANCE - Processor : Intel® Core™ i5-13450HX, 10C (6P + 4E) / 16T, P-core 2.4 / 4.6GHz, E-core 1.8 / 3.4GHz, 20MB

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 :