Study
Django

Model Relationships

Penjelasan

Django menyediakan tiga jenis field relasi: ForeignKey untuk relasi one-to-many, ManyToManyField untuk relasi banyak-ke-banyak (otomatis membuat tabel pivot), dan OneToOneField untuk relasi satu-ke-satu. on_delete wajib diisi di ForeignKey untuk menentukan perilaku saat data induk dihapus.

Contoh Konsep

class Kategori(models.Model):
    nama = models.CharField(max_length=100)

class Catatan(models.Model):
    judul = models.CharField(max_length=255)
    kategori = models.ForeignKey(Kategori, on_delete=models.CASCADE, related_name='catatan')
    tag = models.ManyToManyField('Tag', blank=True)

# Akses relasi
kategori.catatan.all()
catatan.kategori.nama

Praktikum

Tambahkan ForeignKey kategori ke model Catatan dengan on_delete=models.CASCADE dan related_name='catatan'.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

related_name menentukan nama akses balik dari model induk ke model anak (kategori.catatan.all()) — kalau tidak diisi, Django pakai default catatan_set yang kurang enak dibaca.