Django

高度なQuerySet

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

25 面接問題·
Mid-Level
1

フィールドが特定の文字列を含むオブジェクトを大文字小文字を区別せずにフィルタリングできるlookupはどれですか?

回答

icontains lookupは、フィールドが部分文字列を含むかどうかを大文字小文字を区別せずに検索します。icontainsの接頭辞「i」は比較が大文字小文字を無視することを示しており、大文字小文字が変動しうるユーザー検索に便利です。

2

select_relatedとprefetch_relatedの主な違いは何ですか?

回答

select_relatedはSQL JOINを使用して関連オブジェクトを1回のクエリで取得しますが、ForeignKeyおよびOneToOne関係でのみ機能します。prefetch_relatedは別々のクエリを実行し、Python側でオブジェクトを結合するため、ManyToManyおよびreverse ForeignKey関係に適しています。

3

OR演算子でフィルタ条件を組み合わせられるDjangoオブジェクトはどれですか?

回答

Q objectは、| (OR)、& (AND)、~ (NOT)演算子で条件を組み合わせることで複雑なクエリを構築できます。Q objectがない場合、filter()のチェーン呼び出しはAND条件のみを適用するため、OR クエリを直接作成することはできません。

4

更新時にPythonの値の代わりにF() expressionを使う主な利点は何ですか?

5

QuerySetの代わりに計算された値の辞書を返すaggregationメソッドはどれですか?

+22 面接問題

次の面接に向けてDjangoをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める