---
title: "PostgreSQL-specifika frågeuttryck"
version: 6.0
locale: sv
source: https://docs.djangoproject.com/sv/6.0/ref/contrib/postgres/expressions/
canonical: https://djangodocs.dev/sv/6.0/ref/contrib/postgres/expressions/
---
# PostgreSQL-specifika frågeuttryck

Dessa uttryck är tillgängliga från modulen `django.contrib.postgres.expressions`.

## uttryck för `ArraySubquery()`

#### `class ArraySubquery(queryset)`

`ArraySubquery` är en `` Subquery` `` som använder PostgreSQL `ARRAY`-konstruktören för att bygga en lista med värden från queryset, som måste använda ``QuerySet.values`()`` för att bara returnera en enda kolumn.

Den här klassen skiljer sig från [`ArrayAgg`](/sv/6.0/ref/contrib/postgres/aggregates/#django.contrib.postgres.aggregates.ArrayAgg) på så sätt att den inte fungerar som en aggregatfunktion och inte kräver en SQL `GROUP BY`-klausul för att bygga upp listan över värden.

Om du t.ex. vill annotera alla relaterade böcker till en författare som JSON-objekt:

```pycon
>>> 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}]
```
