
Django ORM Lanjutan
Raw SQL, custom managers, query expressions, database functions, atomic transactions, select_for_update, race conditions, database routers
1Apa perbedaan utama antara Model.objects.raw() dan connection.cursor() untuk menjalankan raw SQL di Django?
Apa perbedaan utama antara Model.objects.raw() dan connection.cursor() untuk menjalankan raw SQL di Django?
Jawaban
Model.objects.raw() mengembalikan instance model yang dipetakan secara otomatis, mempertahankan manfaat ORM seperti akses atribut dan relasi. connection.cursor() mengembalikan cursor database mentah dengan tuple, menawarkan fleksibilitas lebih untuk query yang tidak terikat pada model tertentu, tetapi memerlukan penanganan hasil secara manual.
2Apa keuntungan utama membuat custom Manager di Django dibandingkan menambahkan metode langsung ke model?
Apa keuntungan utama membuat custom Manager di Django dibandingkan menambahkan metode langsung ke model?
Jawaban
Custom Manager mengenkapsulasi logika query tingkat tabel, memungkinkan chaining metode dengan QuerySet dan menggunakan kembali logika ini di mana pun model digunakan. Metode model beroperasi pada instance individual. Manager juga memungkinkan modifikasi QuerySet default dengan get_queryset().
3Bagaimana cara mengimplementasikan custom QuerySet untuk memungkinkan chaining metode kustom di Django?
Bagaimana cara mengimplementasikan custom QuerySet untuk memungkinkan chaining metode kustom di Django?
Jawaban
Untuk memungkinkan chaining, buat kelas yang mewarisi QuerySet dengan metode yang mengembalikan self atau QuerySet yang difilter. Kemudian gunakan custom QuerySet melalui Manager.from_queryset() atau definisikan Manager kustom dengan get_queryset() yang mengembalikan custom QuerySet. Ini memungkinkan pemanggilan Model.objects.custom_method().filter().
Ekspresi Django mana yang digunakan untuk menambah counter secara atomik di database tanpa risiko race condition?
Apa fungsi transaction.atomic() dan bagaimana ia menangani exception di Django?
+25 pertanyaan wawancara
Topik wawancara Django lainnya
Dasar-Dasar Python
Python berorientasi objek
Dasar-Dasar Django
Models Django - Dasar
Django Views
Template Django
Formulir Django
QuerySets Lanjutan
Autentikasi Django
Middleware Django
Django Admin
Django REST Framework
Sinyal Django
Unggah File
Caching Django
Session Django
Email Django
Testing Django
Keamanan Django
Deployment Django
Performa Django
Django & Celery
Django Channels
Django & GraphQL
Django & Docker
Django dalam ekosistem microservices
Perintah Django Kustom
Internasionalisasi Django
Design Pattern Django
Django Async & ASGI
Settings & Konfigurasi Produksi
Observability & Monitoring
Kuasai Django untuk wawancara berikutnya
Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.
Mulai gratis