
Django, ORM (Object Relational Mapper) veritabanında kayıtları ekleme, silme, değiştirme ve sorgulama gibi veritabanı modelleriyle daha kolay bir şekilde etkileşime girmemize izin verir.
Django Veri Ekleme Güncelleme ve Silme konusunu işlediğimiz yazımızda aşağıdaki Django modellerini referans alacağız.
class Album(models.Model):
baslik = models.CharField(max_length = 30)
sanatci = models.CharField(max_length = 30)
tip = models.CharField(max_length = 30)
def __str__(self):
return self.baslik
Normalde bir projeyi kodlarken evrensellik açısından Türkçe yerine İngilizce kullanmamız daha sağlıklıdır ama sizin anlamanız için Türkçe olarak açtım.
Proje manage.py dizininde aşağıdaki komutu terminalden çalıştırarak shell açabilir, ORM’ye erişebiliriz.
python manage.py shell
Bu kod bize Python konsolu açıyor. Modellerimizin mevcut olduğunu ve migrate işlemlerini yaptığımızı varsayarak aşağıdaki komutla modellerimizi import edip kullanabiliriz.
from kitaplar.models import Sarki, Album
Python ORM Veri Nasıl Eklenir?
Veri eklemek için bir kaç alternatif vardır. 1. alternatifimiz nesneyi oluşturup içini doldurmaktır.
album_nesnesi = Album()
album_nesnesi.baslik = "kivircik1"
album_nesnesi.sanatci = "kivircikyazilimci"
album_nesnesi.tip = "marul"
album_nesnesi.save()
İlk önce nesne açtık sonrasında alanları doldurup .save() fonksiyonu ile nesnemizi veritabanına kayıt ettik.
2. Alternatif olarak aşağıda ki mantığı kullanabiliriz.
album_nesnesi = Album.objects.create(baslik="kivircik", sanatci="kivircik", tip="marul")
Tek satırda create fonksiyonunu kullanarak, alanlarımızı doldurup gerisini fonksiyona bıraktık.
Python Veritabanından Verileri Nasıl Getiririz?
Veri getirmek için birden fazla fonksiyon vardır.
Python All Komutu Kullanımı
All komutu veritabanında ki tüm değerleri döndürür.
Album.objects.all()
#sonuç
<QuerySet [<Album: Kivircik1>, <Album: Kivircik>]
Python Filter Komutu Kullanımı
Filter komutunu kullanarak verileri filtreleyip getirebiliriz. Birden fazla değeri dizi(dict) olarak döndürür.
Album.objects.filter(baslik="kivircik1")
#sonuç
<QuerySet [<Album: Kivircik1>]
Album tablosundan baslik’i kivircik1 olan verileri getirdik.
Python Get Komutu Kullanımı
Get komutu filter gibi çalışır tek farkı tek bir kayıt döndürür ve nesne olarak döndürür. Dizi olarak kayıt döndürmez, aynı değere sahip birden fazla veri varsa hata üretir.
Album.objects.get(id=2)
<QuerySet [<Album: kivircik>]>
Bu dönen değeri for’a sokmaya gerek kalmadan Nesne döndüğünden dolayı direkt olarak kullanabilir, güncelleme işlemi yapabiliriz.
Python ORM Veri Nasıl Güncellenir?
Bir çok formulü var lakin mantık aynıdır, size en kolay olanı göstereceğim.
album_nesne = Album.objects.get(id=2)
album_nesne.tip = "Maydanoz"
album_nesne.save()
Yukarıda ki kod ile GET fonksiyonunu kullanıp, nesneyi elimize aldık. Sonrasında değiştirmek istediğimiz alana yeni değerini atayıp save() fonksiyonunu tekrardan çağırdık.
Python ORM Veri Nasıl Silinir?
Kullanım şekli tamamen aynıdır birden fazla kayıtı veya tekil olarak kayıt silebiliriz. Tekil olarak kayıt silmek için GET ile nesneyi elimize alıp. delete() fonksiyonunu kullanırız ve verimiz tablodan silinmiş olur.
album_nesne = Album.objects.get(id=2)
album_nesne.delete()
Python Birden Fazla Kayıt Nasıl Silinir?
Album.objects.filter(baslik="kivircik").delete()
Açıklama: Baslik değeri kivircik olan albümleri filter komutu ile bulduktan sonra delete() komutu ile toplu bir şekilde silmiş olduk.
Python Django Veri Ekleme Güncelleme ve Silme işlemleri bu kadar basit, takıldığınız yerleri yorum atarak sorabilirsiniz.
Kıvırcık yazılımcı olarak Python Django Veri Ekleme Güncelleme ve Silme konusuna çözüm bulmaya çalıştık. Dilerseniz soru cevap sitemizde bu durumu paylaşabilirsiniz.
Python Oracle Veritabanı Kullanımı adlı makalemizi okudunuz mu?