Django

Gelişmiş QuerySet'ler

Lookups, Q objects, F expressions, aggregation, annotations, select_related, prefetch_related

25 mülakat soruları·
Mid-Level
1

Bir alanın belirli bir karakter dizisini büyük/küçük harf duyarlılığı olmadan içerdiği nesneleri filtrelemeye hangi lookup izin verir?

Cevap

icontains lookup'u, bir alanın bir alt dize içerip içermediğini kontrol etmek için büyük/küçük harf duyarlılığı olmayan bir arama yapar. icontains'teki 'i' öneki, karşılaştırmanın büyük/küçük harfi yok saydığını gösterir; bu, büyük/küçük harf kullanımının değişebileceği kullanıcı aramaları için kullanışlıdır.

2

select_related ve prefetch_related arasındaki temel fark nedir?

Cevap

select_related, ilişkili nesneleri tek bir sorguda almak için bir SQL JOIN kullanır, ancak yalnızca ForeignKey ve OneToOne ilişkilerinde çalışır. prefetch_related ayrı sorgular yürütür ve ardından nesneleri Python'da bağlar; bu da onu ManyToMany ve reverse ForeignKey ilişkileri için uygun hale getirir.

3

Hangi Django nesnesi, filtre koşullarını bir OR operatörüyle birleştirmeye izin verir?

Cevap

Q objects, koşulları | (OR), & (AND) ve ~ (NOT) operatörleriyle birleştirerek karmaşık sorgular oluşturmaya olanak tanır. Q objects olmadan, zincirleme filter() çağrıları yalnızca AND koşullarını uygular ve doğrudan OR sorguları oluşturmayı imkansız hale getirir.

4

Bir güncellemede Python değerleri yerine F() expressions kullanmanın temel avantajı nedir?

5

Hangi aggregation metodu, bir QuerySet yerine hesaplanmış değerler içeren bir sözlük döndürür?

+22 mülakat soruları

Bir sonraki mülakatın için Django'de uzmanlaş

Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.

Ücretsiz başla