本文介紹 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。