Django Framework Model Yapısı

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:

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.

Leave a Reply