Membuat data dummy di django dengan package Faker

Abdullah Amin Firdaus
NgalamBackend
Published in
3 min readMar 3, 2019

Halo, semuanya !
Tulisan saya kali ini berawal dari keresahan saya ketika ingin melakukan tes pada performa dari project yang sedang saya kerjakan, jadi saya ingin mengetahui bagaimana performa salah satu fitur jika terdapat data dalam jumlah yang cukup banyak pada fitur tersebut. Namun, masalahnya adalah kalau kita memasukkan data tersebut secara manual, akan sangat melelahkan dan membosankan.

Nah, berawal dari situ saya coba browsing apakah ada package yang bisa buat generate data dummy secara otomatis dan bisa dalam jumlah yang cukup banyak di django, kebetulan project saya dikembangkan menggunakan django, salah satu web framework dari Python.

Setelah mencoba browsing, akhirnya saya menemukan sebuah package yang cukup simple penggunaan nya menurut saya, yaitu faker.

source : https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQUEGnIBzZJXnjJxokJTJjEyPINEMz4nkMwUMtPsrsmmxacI3IO

Sekilas tentang faker, faker sendiri adalah sebuah package dari python yang dapat me-generate fake data untuk kita, dalam dokumentasi nya, dijelaskan seperti berikut:

Faker is a Python package that generates fake data for you. Whether you need to bootstrap your database, create good-looking XML documents, fill-in your persistence to stress test it, or anonymize data taken from a production service, Faker is for you.

Package faker pada python sendiri ini terinspirasi oleh PHP Faker, Perl Faker, dan Ruby Faker

Contoh Penggunaan Faker

Pertama, sebelum kita menggunakan package faker ini, kita perlu menginstall dahulu, untuk menginstall package ini dapat kita lakukan melalui pip :

pip install Faker

Setelah sukses install, gunakan faker.Faker() untuk membuat dan inisiasi faker generaror, faker generator ini dapat digunakan untuk mengakses property data sesuai dengan tipe data yang di inginkan, sebagai contoh :

Dapat dilihat pada contoh diatas, pertama kali kita perlu import dahulu package faker, setelah itu kita buat instance dari package tersebut, jika teman-teman perhatikan name(), address(), text() adalah generator properties yang di sebut fake, faker mempunyai banyak sekali generator properties yang di bundle dalam providers.

Menyimpan fake data kedalam database

Selanjutnya, setelah kita berhasil membuat fake data, kita ingin menyimpanya kedalam database, bagaimana cara melakukan nya ?

Kita dapat melakukanya dengan menggunakan method get_or_create() yang akan memasukkan variabel fake data kita kedalam database. Sintaks untuk penggunaan method get_or_create() seperti berikut :

nama_model.objects.get_or_create(field1=var1, field2=var2,…. dst)[0]

Sebenarnya, method get_or_create() akan membuat sebuah tuple dan element pertama dari tuple tersebut adalah required field kita, maka kita harus mengaksesnya menggunakan index ke 0. Sebagai contoh, berikut adalah sintaks yang saya gunakan untuk memasukkan fake data supplier kedalam database

Sintaks diatas akan diulang sebanya N kali, N yang dimaksud disini adalah jumlah dari fake data yang ingin di generate oleh teman-teman, sebagai contoh jumlah data yang ingin saya generate adalah 500 data.

Jadi setelah semuanya, maka keseluruhan kode saya seperti berikut :

Untuk menjalankan file tersebut, teman-teman dapat menuliskan command berikut di terminal :

python nama_file_faker.py

Untuk informasi lain terkait faker, seperti localization, generate properties, testing teman-teman dapat berkunjung ke dokumentasi faker disini.

Terimakasih telah membaca tulisan saya, silahkan di share jika teman-teman merasa tulisan ini bermanfaat :)

--

--

Abdullah Amin Firdaus
NgalamBackend

Professional software engineer with a passion for developing innovative systems that expedite the efficiency and effectiveness of organizational success