Manajemen Settings di Django untuk Workflow yang Efisien

Di era workflow yang serba menggunakan git, sangat tidak lucu jika harus melakukan seremonial git (git push dan git pull) hanya untuk meng-update DEBUG=True ke DEBUG=False di file settings.py. Sementara beberapa baris di file ini sering berubah sesuai dengan kebutuhan konfigurasi aplikasi.

Bagaimana solusinya? Ada banyak sebenarnya, mulai dari membuat file yaml, ini, env, namun yang paling mudah menurut saya adalah dengan membuat file local_settings.py pada direktori yang sama dengan direktori di mana file settings.py berada. Baris-baris kode di local_settings berfungsi untuk meng-override kode di settings.py. Untuk itu, tambahkan baris berikut di settings.py bagian PALING BAWAH:

Continue reading “Manajemen Settings di Django untuk Workflow yang Efisien”

Membuat Custom Filter di Django Admin

Secara default, django sudah menyertakan filter untuk field-field yang ada di Model, misal, kita punya field berikut:

is_published = models.BooleanField(default=True)

maka, secara otomatis, django admin akan membuat filter Is Published dengan nilai All, True, False.

Tergantung kebutuhan, kadang dibutuhkan juga custom filter, misal untuk menghitung berapa jumlah Image di masing-masing Post, di mana Post dan Image memiliki model relasi One-To-Many. Caranya adalah sebagai berikut:

Continue reading “Membuat Custom Filter di Django Admin”

PostgreSQL – Instalasi dan Konfigurasi

Sekilas PostgreSQL

Entah kenapa, saya lebih familiar mySQL dibanding dengan postgresql, mungkin karena faktor “kemudahan” dan pengguna yang relatif banyak, sehingga ketika stuck dengan masalah, kita dapat dengan mudah browsing referensi di internet atau phone a friend, hehehe..

Ada hal mendasar yang seringkali membuat bingung bagi pengguna pemula database postgresql, yakni sistem autentikasi. Kalau di mysql lazimnya kita mengenal auth dengan username dan password, jika keduanya cocok, kita dapat dengan mudah memulai proses manajemen dan manipulasi database.

Continue reading “PostgreSQL – Instalasi dan Konfigurasi”