本文介紹 django.contrib.postgres.expressions.ArraySubquery 的用法。
聲明
class ArraySubquery(queryset)
Django 4.0 中的新函數。 
ArraySubquery 是一個  ,它使用 PostgreSQL Subquery ARRAY 構造函數從查詢集中構建值列表,它必須使用   才能僅返回單個列。QuerySet.values() 
此類與   的不同之處在於它不充當聚合函數,並且不需要 SQL ArrayAgg GROUP BY 子句來構建值列表。
例如,如果要將所有相關書籍作為 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.annotate(books=ArraySubquery(books)).first()
>>> author.books
[{'title': 'Solaris', 'pages': 204}, {'title': 'The Cyberiad', 'pages': 295}]
相關用法
- Python Django ArrayAgg.ordering用法及代碼示例
 - Python Django ArrayField.base_field用法及代碼示例
 - Python Django Area用法及代碼示例
 - Python Django ArchiveIndexView用法及代碼示例
 - Python Django Area.__getattr__用法及代碼示例
 - Python Django Area.unit_attname用法及代碼示例
 - Python Tweepy API.mentions_timeline()用法及代碼示例
 - Python Tweepy API.get_user()用法及代碼示例
 - Python Tweepy API.list_timeline()用法及代碼示例
 - Python Django ACos用法及代碼示例
 - Python Tweepy API.add_list_members()用法及代碼示例
 - Python Django Abs用法及代碼示例
 - Python Django AuthenticationForm.confirm_login_allowed用法及代碼示例
 - Python Tweepy API.create_block()用法及代碼示例
 - Python Django ATan用法及代碼示例
 - Python Tweepy API.trends_closest()用法及代碼示例
 - Python Tweepy API.send_direct_message()用法及代碼示例
 - Python Tweepy API.destroy_status()用法及代碼示例
 - Python Tweepy API.destroy_saved_search()用法及代碼示例
 - Python Tweepy API.get_list()用法及代碼示例
 - Python Tweepy API.favorites()用法及代碼示例
 - Python Tweepy API.blocks_ids()用法及代碼示例
 - Python Tweepy API.configuration()用法及代碼示例
 - Python Tweepy API.lists_memberships()用法及代碼示例
 - Python Tweepy API.home_timeline()用法及代碼示例
 
注:本文由純淨天空篩選整理自djangoproject.com大神的英文原創作品 django.contrib.postgres.expressions.ArraySubquery。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
