本文介绍 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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。