... に関連する全ての書籍を JSON オブジェクトとしてアノテーションしたい場合は、次のようにします: >>> from django.db.models import OuterRef >>> from django.db.models.functions import JSONObject >>> from django.contrib.postgres.expressions import ArraySubquery >> ... > books = Book . objects . filter ( author = OuterRef ( "pk" )) . values ( ... json = JSONObject ( title = "title" , pages = "pages" ) ... ) >>> author = Author . objects . ann ... ード ArraySubquery books title pages クエリ import author PostgreSQL contrib postgres expressions セット 構築 values models OuterRef JSONObject objects 固有 queryset ソース コンストラクタ Subquery QuerySet ArrayAgg クイック検索 Last update: 2026年10月09日 ... ... に関連する全ての書籍を JSON オブジェクトとしてアノテーションしたい場合は、次のようにします: >>> from django.db.models import OuterRef >>> from django.db.models.functions import JSONObject >>> from django.contrib.postgres.expressions import ArraySubquery >> ... > books = Book . objects . filter ( author = OuterRef ( "pk" )) . values ( ... json = JSONObject ( title = "title" , pages = "pages" ) ... ) >>> author = Author . objects . ann ... go books title pages クエリ import author PostgreSQL contrib postgres expressions セット リスト 構築 values 必要 db models OuterRef 関連するページ PostgreSQL 固有のデータベース制約 PostgreSQL 固有のモデルインデックス PostgreSQL 固有のデータベース関数 Pos ... ... rder_by ( "name__length" ) # Boolean expression can be used directly in filters. >>> from django.db.models import Exists , OuterRef >>> Company . objects . filter ( ... Exists ( Employee . objects . filter ( company = OuterRef ( "pk" ), salary__gt = 10 ) ... にその投稿の最新コメントの投稿者のメールアドレスをアノテーションとして付けることができます: >>> from django.db.models import OuterRef , Subquery >>> newest = Comment . objects . filter ( post = OuterRef ( "pk" )) . order_by ( "-created_at" ) >>> Post . obj ... り明確に、あるいは効率的に実行する等価なクエリセットを書けるかもしれません。 外側のクエリセットからカラムを参照する ¶ class OuterRef ( field ) [ソース] ¶ OuterRef は Subquery 内のクエリセットが外側のクエリまたはそのトランスフォームのフィールドから参照され ... ... rder_by ( "name__length" ) # Boolean expression can be used directly in filters. >>> from django.db.models import Exists , OuterRef >>> Company . objects . filter ( ... Exists ( Employee . objects . filter ( company = OuterRef ( "pk" ), salary__gt = 10 ) ... にその投稿の最新コメントの投稿者のメールアドレスをアノテーションとして付けることができます: >>> from django.db.models import OuterRef , Subquery >>> newest = Comment . objects . filter ( post = OuterRef ( "pk" )) . order_by ( "-created_at" ) >>> Post . obj ... り明確に、あるいは効率的に実行する等価なクエリセットを書けるかもしれません。 外側のクエリセットからカラムを参照する ¶ class OuterRef ( field ) [ソース] ¶ OuterRef は Subquery 内のクエリセットが外側のクエリまたはそのトランスフォームのフィールドから参照され ... ... ul" ), then = "name" ) >>> # Condition can be created using boolean expressions. >>> from django.db.models import Exists , OuterRef >>> non_unique_account_type = ( ... Client . objects . filter ( ... account_type = OuterRef ( "account_type" ), ... ) ... ... . exclude ( pk = OuterRef ( "pk" )) ... . values ( "pk" ) ... ) >>> When ( Exists ( non_unique_account_type ), then = Value ( "non unique" )) >>> # ... が、結果のフィルタリングには使用できます: >>> non_unique_account_type = ( ... Client . objects . filter ( ... account_type = OuterRef ( "account_type" ), ... ) ... . exclude ( pk = OuterRef ( "pk" )) ... . values ( "pk" ) ... ) >>> Client . objects . filte ... ... ul" ), then = "name" ) >>> # Condition can be created using boolean expressions. >>> from django.db.models import Exists , OuterRef >>> non_unique_account_type = ( ... Client . objects . filter ( ... account_type = OuterRef ( "account_type" ), ... ) ... ... . exclude ( pk = OuterRef ( "pk" )) ... . values ( "pk" ) ... ) >>> When ( Exists ( non_unique_account_type ), then = Value ( "non unique" )) >>> # ... が、結果のフィルタリングには使用できます: >>> non_unique_account_type = ( ... Client . objects . filter ( ... account_type = OuterRef ( "account_type" ), ... ) ... . exclude ( pk = OuterRef ( "pk" )) ... . values ( "pk" ) ... ) >>> Client . objects . filte ... ... がサポートされなくなっていたリグレッションを修正しました( #36390 )。 Django 5.2 において、 Aggregate 式の filter 引数内で OuterRef を使用した際にクラッシュが発生するリグレッションを修正しました( #36404 )。 Django 5.2 において、PostgreSQL の集約関数 Ar ... rayAgg , StringAgg および JSONBAgg 内で OuterRef を使用した際にクラッシュが発生するリグレッションを修正しました( #36405 )。 Django 5.2 において、管理サイトの filter_hori ... エスケープ モデル QuerySet CompositePrimaryKey キー セキュリティ ログインジェクション 内部 request related サブクラス filter OuterRef type 考慮 外部 リリースノート 問題 リクエスト 潜在的 クイック検索 Last update: 2026年10月09日 « previous | up | next » ... ... ade QuerySet.reverse() affect nulls_first and nulls_last ( #28722 ). Fixed unquoted table names in Subquery SQL when using OuterRef ( #28689 ). 目次 Django 1.11.7 リリースノート バグ修正 前のトピックへ Django 1.11.8 リリースノート 次のトピックへ Django 1 ... ... がサポートされなくなっていたリグレッションを修正しました( #36390 )。 Django 5.2 において、 Aggregate 式の filter 引数内で OuterRef を使用した際にクラッシュが発生するリグレッションを修正しました( #36404 )。 Django 5.2 において、PostgreSQL の集約関数 Ar ... rayAgg , StringAgg および JSONBAgg 内で OuterRef を使用した際にクラッシュが発生するリグレッションを修正しました( #36405 )。 Django 5.2 において、管理サイトの filter_hori ... ... ade QuerySet.reverse() affect nulls_first and nulls_last ( #28722 ). Fixed unquoted table names in Subquery SQL when using OuterRef ( #28689 ). 目次 Django 1.11.7 リリースノート バグ修正 前のトピックへ Django 1.11.8 リリースノート 次のトピックへ Django 1 ... 2026年10月08日