Django Seeding Data (.csv)

Fachrur Rozi
Sulang
Published in
1 min readMay 16, 2018

Kali ini saya akan membahas mengenai bagaimana melakukan data seeding dari file .csv ke model django.

Sebelumnya saya telah mengerjakan task untuk membuat model UserFasilkom yang digunakan untuk menyimpan daftar semua mahasiswa fasilkom yang dicatat oleh pihak fasilkom. Data tersebut digunakan oleh admin untuk melakukan verifikasi oleh admin terhadap user baru yang mendaftar ke aplikasi suling.

Data seluruh mahasiswa fasilkom tentu data yang sangat besar. Hampir tidak mungkin admin memasukkannya manual kedalam sistem, sehingga dibutuhkan otomasi dalam bentuk seeder.

Dengan data seeding, nantinya admin (pihak fasilkom) hanya perlu menyediakan data mahasiswa fasilkom dalam bentuk file .csv, kemudian django akan melakukan parsing file csv kemudian memasukkan ke dalam model baris per baris.

Kami akan menggunakan python library django-csvimport

dengan library tersebut kita dapat dengan mudah melakukan parsing file csv

import csv, 

# import the relevant model
from myproject.models import Foo

#loop:
for line in csv file:
line = parse line to a list
# add some custom validation\parsing for some of the fields

foo = Foo(fieldname1=line[1], fieldname2=line[2] ... etc. )
try:
foo.save()
except:
# if the're a problem anywhere, you wanna know about it
print "there was a problem with line",

Keuntungan menggunakan library ini adalah kita dapat melakukan upload file csv melalui tampilan admin yang sudah disediakan oleh library.

--

--