Django Models ile Veritabanı İşlemleri
Django, veritabanı ile etkileşime girmeyi kolaylaştıran models adında bir modül sunar. Bu modül, veritabanı tablolarını ve ilişkilerini tanımlamak için Python sınıfları oluşturmanıza olanak tanır.
Model Oluşturma:
Python
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=255)
author = models.CharField(max_length=255)
genre = models.CharField(max_length=255)
publication_date = models.DateField()
def __str__(self):
return self.title
Yukarıdaki kodda, Book
adında bir model oluşturduk. Bu model, title
, author
, genre
ve publication_date
adında dört tane alan içerir. __str__
metodu, modelin nasıl temsil edileceğini tanımlar.
Veritabanı İşlemleri:
Python
book = Book(title="Yüz Yıllık Yalnızlık", author="Gabriel Garcia Marquez", genre="Büyülü Gerçekçilik", publication_date="1967-05-30")
book.save()
# Tüm kitapları al
books = Book.objects.all()
# Belirli bir ID'ye sahip kitabı al
book = Book.objects.get(id=1)
# Kitabı güncelle
book.title = "Yüzyıllık Yalnızlık"
book.save()
# Kitabı sil
book.delete()
Yukarıdaki kodda, Book
modelini kullanarak çeşitli veritabanı işlemleri gerçekleştirdik. Bir kitap oluşturduk, tüm kitapları aldık, belirli bir ID’ye sahip kitabı aldık, bir kitabı güncelledik ve bir kitabı sildik.
Model İlişkileri:
Python
class Author(models.Model):
name = models.CharField(max_length=255)
class Book(models.Model):
title = models.CharField(max_length=255)
author = models.ForeignKey(Author, on_delete=models.CASCADE)
Yukarıdaki kodda, Author
ve Book
modelleri arasında bir ilişki tanımladık. Bir kitap, bir yazara bağlıdır. on_delete=models.CASCADE
seçeneği, bir yazar silindiğinde, o yazara bağlı tüm kitapların da silinmesini sağlar.
Daha Fazla Bilgi:
- Django models dokümantasyonu: https://docs.djangoproject.com/en/5.0/ref/models/
- Django models ile ilgili öğreticiler:
Sonuç:
Django models, Django ile veritabanı işlemleri gerçekleştirmeyi kolaylaştıran güçlü bir araçtır. Bu modülü kullanarak, veritabanı tablolarını ve ilişkilerini tanımlayabilir ve çeşitli veritabanı işlemleri gerçekleştirebilirsiniz.