QuerySet & ORM Query
Penjelasan
Manager objects. di tiap model menyediakan QuerySet — objek malas (lazy) yang baru benar-benar menjalankan query SQL saat hasilnya diiterasi atau dievaluasi. Method seperti filter(), exclude(), order_by() bisa dirantai (chained) sebelum query benar-benar dieksekusi.
Contoh Konsep
semua = Catatan.objects.all()
satu = Catatan.objects.get(id=1)
filtered = Catatan.objects.filter(judul__icontains='django').order_by('-dibuat_pada')
bukan_draft = Catatan.objects.exclude(status='draft')
Praktikum
Ambil semua Catatan yang judulnya mengandung kata 'Python', diurutkan dari yang terbaru.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
get() melempar DoesNotExist kalau tidak ketemu dan MultipleObjectsReturned kalau lebih dari satu — pakai filter().first() kalau kamu ingin None sebagai fallback tanpa exception.