... 件式 . Subquery() 式 ¶ class Subquery ( queryset , output_field = None ) [ソース] ¶ Subquery 式を使うと、 QuerySet に明示的にサブクエリを追加できます。 たとえば、各投稿にその投稿の最新コメントの投稿者のメールアドレスをアノテーションとして付けることができます: ... st" . "id" ) ORDER BY U0 . "created_at" DESC LIMIT 1 ) AS "newest_commenter_email" FROM "post" 注釈 この節の例は、Django にサブクエリを強制する方法を示すものです。場合によっては、同じタスクをより明確に、あるいは効率的に実行する等価なクエリセットを書けるかも ... ンスタンスの入れ子になったペア内にある必要があります: >>> Book . objects . filter ( author = OuterRef ( OuterRef ( "pk" ))) サブクエリを単一のカラムに絞る ¶ Subquery を __in ルックアップの対象として使う場合など、 Subquery から単一のカラムを返さなければならな ... ... 件式 . Subquery() 式 ¶ class Subquery ( queryset , output_field = None ) [ソース] ¶ Subquery 式を使うと、 QuerySet に明示的にサブクエリを追加できます。 たとえば、各投稿にその投稿の最新コメントの投稿者のメールアドレスをアノテーションとして付けることができます: ... st" . "id" ) ORDER BY U0 . "created_at" DESC LIMIT 1 ) AS "newest_commenter_email" FROM "post" 注釈 この節の例は、Django にサブクエリを強制する方法を示すものです。場合によっては、同じタスクをより明確に、あるいは効率的に実行する等価なクエリセットを書けるかも ... ンスタンスの入れ子になったペア内にある必要があります: >>> Book . objects . filter ( author = OuterRef ( OuterRef ( "pk" ))) サブクエリを単一のカラムに絞る ¶ Subquery を __in ルックアップの対象として使う場合など、 Subquery から単一のカラムを返さなければならな ... ... のテーブルエイリアスを参照すると、Django がそのエイリアスを変更する可能性があることです (たとえば、クエリセットが別のクエリのサブクエリとして使われる場合など)。 警告 extra() を使うときは常に細心の注意を払ってください。SQL インジェクション攻撃から守るために、使 ... のようになります: SELECT blog_entry . * , ( pub_date > '2006-01-01' ) AS is_recent FROM blog_entry ; 次の例はもっと高度です。サブクエリを使って、各結果の Blog オブジェクトに、関連する Entry オブジェクトの整数カウントである entry_count 属性を付与します。 Blog ... M blog_entry WHERE blog_entry . blog_id = blog_blog . id ) AS entry_count FROM blog_blog ; ほとんどのデータベースエンジンでサブクエリに必要な括弧は、Django の select 句では必要ありません。 まれに、 extra(select=...) でSQLフラグメントにパラメータを渡したい場 ... ... のテーブルエイリアスを参照すると、Django がそのエイリアスを変更する可能性があることです (たとえば、クエリセットが別のクエリのサブクエリとして使われる場合など)。 警告 extra() を使うときは常に細心の注意を払ってください。SQL インジェクション攻撃から守るために、使 ... のようになります: SELECT blog_entry . * , ( pub_date > '2006-01-01' ) AS is_recent FROM blog_entry ; 次の例はもっと高度です。サブクエリを使って、各結果の Blog オブジェクトに、関連する Entry オブジェクトの整数カウントである entry_count 属性を付与します。 Blog ... M blog_entry WHERE blog_entry . blog_id = blog_blog . id ) AS entry_count FROM blog_blog ; ほとんどのデータベースエンジンでサブクエリに必要な括弧は、Django の select 句では必要ありません。 まれに、 extra(select=...) でSQLフラグメントにパラメータを渡したい場 ... ... アグリゲーションを統合する ¶ annotate() を用いて複数の集計 (アグリゲーション) を統合することは、 誤った結果を生み出します 。サブクエリの代わりに結合(JOIN)が使われるからです: >>> book = Book . objects . first () >>> book . authors . count () 2 >>> book . stor ... ... アグリゲーションを統合する ¶ annotate() を用いて複数の集計 (アグリゲーション) を統合することは、 誤った結果を生み出します 。サブクエリの代わりに結合(JOIN)が使われるからです: >>> book = Book . objects . first () >>> book . authors . count () 2 >>> book . stor ... ... ました。ウィンドウ関数を参照する集計で QuerySet.aggregate() がクラッシュする原因となっていました ( #34717 )。 Django 4.2 で、サブクエリ内の参照でグループ化する際にクラッシュを引き起こすリグレッションを修正しました ( #34748 )。 Django 4.2 におけるリグレッション ... ート 関連キーワード 修正 リグレッション バグ 集計 クラッシュ グループ リリースノート 1日 ウィンドウ QuerySet aggregate 原因 サブクエリ 明示 グルーピング クエリ 複数 アノテーション カラム 問題 クイック検索 Last update: 2026年10月09日 « previous | up | next » ... ... を修正しました( #36453 )。 Django 5.2 で、タプルルックアップをネイティブにサポートしないバックエンドにおいて、複合主キーとサブクエリを伴う __in ルックアップを実行した際に発生するクラッシュを修正しました( #36464 )。 目次 Django 5.2.4 リリースノート バグ修 ... d type 品質 具体的 メディア タイプ 優先 条件 None JSONField シリアライズ タプル ネイティブ サポート バックエンド 複合 キー サブクエリ クラッシュ クイック検索 Last update: 2026年10月09日 « previous | up | next » ... ... ました。ウィンドウ関数を参照する集計で QuerySet.aggregate() がクラッシュする原因となっていました ( #34717 )。 Django 4.2 で、サブクエリ内の参照でグループ化する際にクラッシュを引き起こすリグレッションを修正しました ( #34748 )。 Django 4.2 におけるリグレッション ... ワード Django 修正 リグレッション バグ 集計 クラッシュ グループ リリースノート 1日 いくつ ウィンドウ QuerySet aggregate 原因 サブクエリ 明示 グルーピング クエリ 複数 アノテーション 関連するページ Django 4.2.2 リリースノート Django 3.0.3 リリースノート Django ... ... 計を参照する式を使用した場合に QuerySet.aggregate() がクラッシュするリグレッションを修正しました ( #34551 )。 Django 4.2 で、サブクエリを参照する集計を行う際にクラッシュを引き起こす問題 ( #34551 ) を修正しました。 Django 4.2 におけるリグレッションを修正しまし ... 2026年10月08日