Multiple Insert Django Models

Subscribe dengan Account Google untuk mendapatkan News Letter terbaru dari Halovina !
Multiple Insert Django Models
Informa Bantal Sofa 40 Cm Summer Retreat Bulat - Oranye

Informa Bantal Sofa 40 Cm Summer Retreat Bulat - Oranye

Bersantai di sofa semakin lengkap dengan bantal empuk dari Informa. Bantal dengan diameter 40 cm ini cocok untuk menopang kepala atau dipeluk untuk menambah kenyamanan. Pilihan warna yang beragam cocok untuk dipadukan dengan sofa atau sofa bed di rumah. Pemakaiannya juga praktis karena tidak harus dilapisi lagi dengan sarung bantal.

Free Klik Disini !

Django Framework merupakan salah satu framework python yang mendukung konsep ORM. Pada Django Framework penerapan ORM di implementasikan kedalam Django Models. 

Django Models memiliki fungsi seperti halnya Hibernate pada Spring Framework, di django models kamu bisa membuat constuctor untuk class table dan menentukan tipe data table kedalam format yang kamu inginkan.

Dalam banyak kasus programmer sering kali lupa dalam penulisan kode program, kebanyakan mereka menggunakan for loops untuk menyimpan data kedalam database dalam jumlah yang lebih dari satu baris. Jika data yang di simpan ke database berjumlah ribuan tentu ini akan memakan banyak memori dan membutuhkan waktu komputasi yang lebih lama.

Perhatikan study kasus dibawah ini:

models.py

class Mahasiswa(models.Model):
nim = models.CharField(max_length=12)
name = models.CharField(max_length=255, blank=True)

def __str__(self):
return self.name

 

kita sudah membuat class model Mahasiswa, selanjutnya kita akan membuat function untuk menyimpan data mahasiswa

test.py

def simpan_data():
data = [
{
'nim':'08211',
'name':'mahasiswa 1'
},
{
'nim':'08212',
'name':'mahasiswa 2'
},
{
'nim':'08213',
'name':'mahasiswa 3'
},
{
'nim':'08214',
'name':'mahasiswa 4'
},
{
'nim':'08215',
'name':'mahasiswa 5'
},
]
for x in data:
instance_mahasiswa = Mahasiswa(
nim = x['nim'],
name = x['name']
)
instance_mahasiswa.save()

Metode insert data diatas akan berjalan baik jika data yang disimpan ke database berjumlah belasan baris data, tetapi jika baris data berjumlah ribuan, metode insert data diatas akan membutuhkan waktu komputasi yang lebih lama. Bagaimana caranya kita mengoptimasi for loop insert data ?, untuk solusi ini kita bisa memanfaatkan bulk insert

perhatikan kode di bawah ini

 

def simpan_data():
data = [
{
'nim':'08211',
'name':'mahasiswa 1'
},
{
'nim':'08212',
'name':'mahasiswa 2'
},
{
'nim':'08213',
'name':'mahasiswa 3'
},
{
'nim':'08214',
'name':'mahasiswa 4'
},
{
'nim':'08215',
'name':'mahasiswa 5'
},
]

instance_transactions = [
Mahasiswa(
nim = x['nim'],
name = x['name']
)
for x in data
]
Mahasiswa.objects.bulk_create(instance_transactions)

optimasi kode diatas akan membantu mempercepat proses komputasi simpan data mahasiswa.

baca artikel lainya :