Merih Forum Programlama ve yazılım algoritmalar programlama python Flask sqlalchemy tablo sorgulama filtreleri ve sorgu çalıştırıcılar

  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
sqlalchemy tablo sorgulama filtreleri ve sorgu çalıştırıcılar

 
#1

En çok kullanılan sqlalchemy filtreleri:
filter(): Geriye filtrelenmiş bir sorgu dönderir. Parametre olarak o sınıfın attributlarından birini alır:
Kod:
user = User.query.filter(User.username=='mtndmr')

filter_by(): Geriye belirli bir değere göre filtrelenmiş bir sorgu dönderir.
Kod:
user = User.query.filter_by(username='mtndmr')

limit(): Geriye sınırı belirtilmiş bir sorgu gönderir. Örneğin kullacı tablosundan hepsini değilde 5 tanesini almak istersek:
Kod:
users = User.query.limit(5).all()

order_by(): Sorguya bir sıralama kriteri ekler ve geriye bir sorgu dönderir:
Kod:
users = User.query.order_by(User.username).all()

group_by(): Geriye gruplanmış bir sorgu dönderir. Örnek olarak kullanıcıları rollerine gruplamak istersek:
Kod:
user = User.query.group_by(User.id, User.role_id).all()

kullanıcıları kaç grup varsa o kadar gruba ayırır. group_by() fonksiyonuna parametre olarak User.id verilmek zorundadır. Diğer tablolarda da group_by() ile sorgulama yapılacaksa o tablodaki id alanı parametre olarak verilmek zorundadır.

Sorgu çalıştırıcılar:
Her sorgunun sonunda 
Kod:
all()


Kod:
first()

 gibi ifadeler gördünüz. İşte bunlar sorgu çalıştırıcılardan bazılarıdır. Bir sorgu yapıldığında en son olarak bu metotlardan biri çağrılmazsa sonuç veritabanından alınmaz. Bunlar sorguları çalıştıran metotlardır. En yaygın olarak kullanılanlar:

all(): Geriye o sorgunun tüm sonuçlarını liste olarak getirir.
first(): Geriye bir sorgunun ilk kaydını getirir. Kayıt yok ise None dönderir.
first_or_404(): Geriye sorgunun ilk kaydını dönderir eğer kayıt varsa, yoksa geriye kayıt bulunmadı olarak 404 hatası dönderir.
get(): Parametre olarak verilen primary key değerine sahip bir satır varsa dönderir, yoksa None.
Kod:
user = User.query.get(9)
user.id         #9
user.username   #kullanıcı adi

get_or_404(): 
Kod:
get()

 ile aynıdır, bulunmadığı zamanda sonuç olarak 

Kod:
404

 hata mesajını gönderir.

count(): Geriye sorgu sonucunun kayıt sayısını gönderir.
Kod:
role = Role.query.filter_by(name='Admin').first()
total_user = role.users.count()
print(total_user)




Ara
Cevapla


[-]
Hızlı Cevap

İnsan Doğrulama:
Aşağıda görünen onay kutusunu işaretleyiniz. Bu işlem otomatik spam kayıtları önlemek için kullanılır.

Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Flask-sqlalchemy ile tablo oluşturma, tablolar arasında ilişki tanımlama efsane 0 1,705 30-05-2017, Saat: 17:19
Son Yorum: efsane
  Flask-sqlalchemy eklentisi, sütun veri tipleri efsane 0 1,656 30-05-2017, Saat: 17:18
Son Yorum: efsane
  flask uygulamasına veritabanı ekleme sqlalchemy, orm efsane 0 1,922 30-05-2017, Saat: 17:16
Son Yorum: efsane

Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


Konuyu Okuyanlar:
1 Ziyaretçi

   
Türkçe Çeviri: MCTR, Forum Yazılımı: MyBB, © 2002-2021 MyBB Group.  



Merih Forum® bilgi paylaşım platformu. 2015-2020 Tüm hakları saklıdır.