Django Academy · Ders

ForeignKey için select_related

İlişkili satırları tek bir sorguda JOIN ile birleştirin.

2. ders / 413 adım

ForeignKey için select_related, CoddyKit'te ücretsiz bir Django Academy dersidir. Bu, 4 dersinin 2. 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, Django Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Django Academy kursu toplamda 4 dersten oluşur.

Bu dersin bazı bölümleri henüz çevrilmemiş olup İngilizce olarak gösterilmektedir.

Meet select_related

select_related tells Django to fetch related rows up front in the same query, so loops stop firing extra trips. ⚡

It Uses a JOIN

Under the hood it adds a SQL JOIN, pulling the parent and its related row together in one efficient round trip.

The Basic Call

Pass the related field name to select_related on your queryset, and the join happens automatically when the data loads.

books = Book.objects.select_related('author')

From 101 to 1

Now looping over those books and reading each author runs a single query instead of one hundred and one. Same code, huge win.

for book in books:
    print(book.author.name)

When It Fits

Use it for ForeignKey and OneToOne fields, where each object points to exactly one related row that a join can grab.

Not for Many

It does not work for many-to-many or reverse one-to-many links, because a join cannot fold many rows into one cleanly.

Follow the Chain

You can span multiple hops with double underscores, joining across more than one foreign key in a single query.

Book.objects.select_related('author__publisher')

Several at Once

Pass several field names to grab multiple relations together, all stitched into the same optimized query.

Order.objects.select_related('customer', 'product')

It Is Lazy Too

The query still waits until you actually use the data, so chaining filters and order_by before it stays cheap and flexible.

Mind the Width

Joins add columns, so do not over-select. Grab only the relations you truly read to keep each row lean.

A Reflex Worth Building

See a foreign key accessed in a loop? Reach for select_related first. It becomes second nature fast. 🎯

Quick Check

Pick the right tool for this relationship.

Recap

select_related joins ForeignKey and OneToOne data in one query, killing N+1 for single-row links. Chain hops with double underscores. ✅

Başlamak ücretsiz

Yapay zeka eğitmeniyle Python öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
30
Dersler
120

Sıkça Sorulan Sorular

“ForeignKey için select_related” dersi ücretsiz mi?

Evet — “ForeignKey için select_related” 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 Django Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Django Academy kursu toplamda 4 dersten oluşur.

“ForeignKey için select_related” dersinde ne öğreneceğim?

İlişkili satırları tek bir sorguda JOIN ile birleştirin. Django 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.

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

Önceden deneyim gerekmez. CoddyKit'te Django 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 2. dersidir.

“ForeignKey için select_related” 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 Django Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Django 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. N+1 Sorununu Fark Etme
  2. ForeignKey için select_related
  3. M2M için prefetch_related
  4. Debug Toolbar ile Profil Oluşturma
← Django Academy Sayfasına Dön