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.