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'.
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.