0Pricing
Flask Academy · Ders

İlişkileri ve Yabancı Anahtarları Tanımlama

Modelleri bire çok ilişkileriyle bağlayın.

İlişkileri ve Yabancı Anahtarları Tanımlama, CoddyKit'te ücretsiz bir Flask Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Flask Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Flask Academy kursu toplamda 4 dersten oluşur.

Birlikte ait olan satırlar

Gerçek veriler birbiriyle bağlantılıdır: bir kullanıcının birçok gönderisi, bir siparişin birçok ürünü olabilir. Bir relationship, modellerinizde bu satırları birbirine bağlar. 🔗

ForeignKey

Yabancı anahtar, üst öğenin kimliğini tutan alt öğe sütunudur. Veritabanına kaydedilen gerçek bağlantı budur.

user_id = db.Column(db.Integer, db.ForeignKey("user.id"))

Doğru tabloyu gösterme

ForeignKey içinde hedefi table.column biçiminde belirtin; Flask-SQLAlchemy'nin oluşturduğu küçük harfli tablo adını kullanın.

db.ForeignKey("user.id")

relationship ekleme

relationship() yardımcısı bu anahtarı kolay gezinmeye dönüştürür; böylece bağlantılı nesnelere öznitelik olarak erişebilirsiniz.

posts = db.relationship("Post")

Uygulamada bire çok ilişkisi

Yabancı anahtarı çok tarafına, relationship'ı ise tek tarafına koyun. Bir kullanıcı, birçok gönderi.

class Post(db.Model):
    user_id = db.Column(db.ForeignKey("user.id"))

Üst öğeden alt öğelere gezinme

Bağlantı kurulduktan sonra bir üst öğenin alt öğelerini liste gibi okuyabilirsiniz. SQLAlchemy, bu özniteliğe eriştiğinizde onları sizin için getirir. ✨

user = User.query.first()
for p in user.posts:
    print(p.title)

backref ile geri gezinme

Bir relationship'a backref eklediğinizde alt öğe, üst öğesine ulaşmak için hemen bir yol kazanır.

posts = db.relationship("Post", backref="author")

Backref kullanma

Bu backref, temiz bir öznitelik aracılığıyla alt öğeden doğrudan sahibine gitmenizi sağlar. 🙌

post = Post.query.first()
print(post.author.name)

Nesneyle atama

relationship özniteliğini bir nesneye ayarlayarak satırları bağlayın. SQLAlchemy, yabancı anahtarı sizin için doldurur.

post = Post(title="Hi")
post.author = user

Silmede kademeli işlem

Bir üst öğe silindiğinde alt öğelerinin de kaldırılması için kademeli silme ayarlayın; böylece veritabanı düzenli ve tutarlı kalır.

db.relationship("Post", cascade="all, delete")

Anahtar ve relationship karşılaştırması

Yabancı anahtar bağlantıyı SQL'de saklar; relationship ise bunun üzerindeki Python kolaylık katmanıdır. Genellikle ikisini de kullanmak istersiniz.

Hızlı kontrol

Bir kullanıcı birçok gönderi yazabilir. Yabancı anahtar sütunu nerede bulunur?

Özet: Modelleri bağlama

Artık tabloları bir yabancı anahtarla bağlayabilir, relationship ve backref ile aralarında gezinebilir, silmeleri cascade ile denetleyebilirsiniz. Modeller birleşti! 🎉

Sıkça Sorulan Sorular

“İlişkileri ve Yabancı Anahtarları Tanımlama” dersi ücretsiz mi?

Evet — “İlişkileri ve Yabancı Anahtarları Tanımlama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Flask Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Flask Academy kursu toplamda 4 dersten oluşur.

“İlişkileri ve Yabancı Anahtarları Tanımlama” dersinde ne öğreneceğim?

Modelleri bire çok ilişkileriyle bağlayın. Flask Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Flask Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Flask Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.

“İlişkileri ve Yabancı Anahtarları Tanımlama” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Flask Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Flask Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. query ve get ile Satır Getirme
  2. Sonuçları Filtreleme, Sıralama ve Sınırlandırma
  3. İlişkileri ve Yabancı Anahtarları Tanımlama
  4. Birleştirmeler ve Tembel ile İstekli Yükleme
← Flask Academy Sayfasına Dön