Django : Dasar-Dasar Object Relational Mapping

Subscribe Dengan Account Google Untuk Mendapatkan Artikel Terbaru !
Django : Dasar-Dasar Object Relational Mapping
Thinking, Fast and Slow

Thinking, Fast and Slow

Daniel Kahneman adalah salah satu pemikir paling penting abad ini. Gagasannya berdampak mendalam dan luas di berbagai bidang termasuk ekonomi, pengobatan, dan politik. Dalam buku yang sangat dinanti-nantikan ini, Kahneman menjelaskan dua sistem yang mendorong cara kita berpikir. Sistem 1 bersifat cepat, intuitif, dan emosional; Sistem 2 lebih pelan, lebih bertujuan, dan lebih logis.

Buy

ORM (Object Relational Mapping) adalah metode pemrograman yang digunakan untuk mengkonversi data dari lingkungan bahasa pemrograman berorientasi objek (OOP) dengan lingkungan database relasional.

Kenapa kta perlu menerapkan ORM, yaitu karena:


  • Mempercepat pengembangan program contohnya, mengurangi perulangan kode query, memudahkan pemakaian karena tabel-tabel ter-epresentasikan dalam bentuk objek.

  • Membuat akses data menjadi lebih abstrak dan portable.
    Hal ini dikarenakan ORM menghandle generate syntax SQL berdasarkan vendor database-nya.

  • Mensupport pengkapsulan business rule pada lapisan Data Access.

  • Men-generate boilerplate code (unit kode yang reusable) untuk fungsi dasar CRUD (Create, Read, Update, Delete).


Django Framework merupakan salah satu framework python yang mendukung konsep ORM. Sebaiknya kita langsung pembahasan tentang dasar-dasar ORM pada django. perhatikan kode di bawah ini, kita punya 2 class models Province dan City :

class Province(CreateUpdate):
code = models.IntegerField()
name = models.CharField(max_length=255, blank=True)

def __str__(self):
return self.name

class City(CreateUpdate):
code = models.IntegerField()
name = models.CharField(max_length=255, blank=True)
province = models.ForeignKey(Province, related_name='city',on_delete=models.PROTECT)

def __str__(self):
return self.name

Dari kode diatas kita sudah punya 2 table, table province dan city. Django framework telah membangun ORM cukup baik melalui django models. Di bawah ini beberapa perintah dari dari django models operation CRUD.


1) Query Get


Query Get mengembalikan nilai dalam bentuk object dictionary

sql :

select * from city where id=38

Django:
City.objects.get(id=38)


2) Query Filter


Query Filter mengembalikan nilai dalam bentuk object list

sql :

select * from city where code=32

django :
City.objects.filter(code=32)

 

3) Query All


Query All mengembalikan nilai dalam bentuk object list

sql :

select * from city

django:

City.objects.all()

 

4) Query Join


sql:
select * from city a inner join province b on a.province_id = b.id where b.code = 13

django:
City.objects.get(province__code=13)

script diatas menggambarkan tentang penggunaan inner join pada django

untuk mempelajari lebih lanjut klik tautan ini

Baca juga artikel berikut ini :