Django : Query One-to-Many dan Many-to-One

Subscribe dengan Account Google untuk mendapatkan News Letter terbaru dari Halovina !
Django : Query One-to-Many dan Many-to-One
Xiaomi Watch 2 | Snapdragon W5+ Gen 1

Xiaomi Watch 2 | Snapdragon W5+ Gen 1

Nikmati kecerdasan seperti belum pernah terjadi sebelumnya dengan Xiaomi Watch 2, didukung oleh Google Wear OS. Rasakan kemudahan menggunakan aplikasi Google bawaan dan beragam aplikasi pihak ketiga untuk performa optimal dan penggunaan yang mulus. Akses Lebih Banyak Aplikasi dengan Google Play: Akses lebih dari 200 aplikasi pihak ketiga yang populer yang mencakup hampir setiap aspek kehidupan Anda dengan mudah dan nyaman.

Free Klik Disini !

Pada artikel sebelumnya kita telah membahas


Django memiliki ORM yang dikenal dengan nama Django models. Dengan memanfaatkan ORM kamu sudah tidak perlu lagi merubah query SQL saat terjadi perubahan database misal dari mysql ke postgree.

Django models telah mendesain struktur data yang mendukung multi database. Setiap perubahan dan penambahan kolom atau table baru telah di atur sedemikian rupa oleh ORM, hal ini membantu developer memaksimalkan waktu development.

Pada artikel kali ini kita akan membahas tentang Query Django models. Perhatikan class models berikut ini

from django.db import models

# Create your models here.
class Province(models.Model):
code = models.IntegerField()
name = models.CharField(max_length=255, blank=True)

def __str__(self):
return self.name

class City(models.Model):
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

class Publication(models.Model):
title = models.CharField(max_length=30)

class Meta:
ordering = ('title',)

def __str__(self):
return self.title

class Article(models.Model):
headline = models.CharField(max_length=100)
publications = models.ManyToManyField(Publication,related_name='publication_details')

class Meta:
ordering = ('headline',)

def __str__(self):
return self.headline

1) One to Many

from utils.models import Province, City

def get_province():
p = Province.objects.get(id=33)
c = City.objects.filter(province=p.id)
print(c)

2) Many to One

from utils.models import Province, City

def get_city_by_province():
c = City.objects.filter(province__id=33)
print(c)

3) Many to Many

from utils.models import Province, City, Article, Publication

def get_article():
p = Publication.objects.all()
for n in p.publication_details.all():
print(n)

Baca artikel lainya :