
Django ORM 上級
Raw SQL、custom managers、query expressions、database functions、atomic transactions、select_for_update、race conditions、database routers
28 面接問題·
Senior
1Django で raw SQL を実行する際、Model.objects.raw() と connection.cursor() の主な違いは何ですか?
1
Django で raw SQL を実行する際、Model.objects.raw() と connection.cursor() の主な違いは何ですか?
回答
Model.objects.raw() は自動的にマッピングされたモデルインスタンスを返し、属性アクセスやリレーションといった ORM の利点を維持します。connection.cursor() はタプルを持つ raw なデータベースカーソルを返し、特定のモデルに紐づかないクエリに対してより高い柔軟性を提供しますが、結果を手動で処理する必要があります。
2Django でモデルに直接メソッドを追加するのではなく、custom Manager を作成する主な利点は何ですか?
2
Django でモデルに直接メソッドを追加するのではなく、custom Manager を作成する主な利点は何ですか?
回答
custom Manager はテーブルレベルのクエリロジックをカプセル化し、QuerySet とのメソッドチェーンを可能にし、そのモデルが使われるあらゆる場所でロジックを再利用できます。モデルメソッドは個々のインスタンスに対して動作します。Manager は get_queryset() でデフォルトの QuerySet を変更することもできます。
3Django でカスタムメソッドのチェーンを可能にするために custom QuerySet をどのように実装しますか?
3
Django でカスタムメソッドのチェーンを可能にするために custom QuerySet をどのように実装しますか?
回答
チェーンを可能にするには、self またはフィルタリングされた QuerySet を返すメソッドを持つ、QuerySet を継承したクラスを作成します。次に Manager.from_queryset() で custom QuerySet を使うか、custom QuerySet を返す get_queryset() を持つカスタム Manager を定義します。これにより Model.objects.custom_method().filter() を呼び出せます。
4
race condition のリスクなしにデータベース内のカウンターをアトミックにインクリメントするには、どの Django の式を使いますか?
5
transaction.atomic() の機能は何ですか、また Django で例外をどのように扱いますか?
+25 面接問題
その他のDjango面接トピック
Pythonの基礎
Junior
25問Python オブジェクト指向
Junior
20問Django の基礎
Junior
20問Django Models - 基礎
Junior
22問Django ビュー
Junior
20問Django テンプレート
Junior
18問Django フォーム
Mid-Level
22問高度なQuerySet
Mid-Level
25問Django 認証
Mid-Level
22問Django ミドルウェア
Mid-Level
18問Django Admin
Mid-Level
20問Django REST Framework
Mid-Level
30問Django シグナル
Mid-Level
18問ファイルアップロード
Mid-Level
20問Django キャッシュ
Mid-Level
20問Django セッション
Mid-Level
18問Django のメール
Mid-Level
18問Django のテスト
Mid-Level
22問Django のセキュリティ
Mid-Level
22問Django のデプロイ
Mid-Level
24問Django のパフォーマンス
Senior
24問Django & Celery
Senior
22問Django Channels
Senior
24問Django & GraphQL
Senior
24問Django & Docker
Senior
20問マイクロサービスエコシステムにおけるDjango
Senior
24問カスタムDjangoコマンド
Senior
18問Django の国際化
Senior
20問Django デザインパターン
Senior
24問Django Async と ASGI
Senior
26問Settings と本番環境の設定
Senior
22問オブザーバビリティとモニタリング
Senior
24問