Skip to content

Commit

Permalink
[4.1.x] Fixed #34199 -- Added example to StringAgg docs.
Browse files Browse the repository at this point in the history
Backport of 3445938 from main
  • Loading branch information
sdolemelipone authored and felixxm committed Dec 5, 2022
1 parent a196dcc commit 29c9bba
Showing 1 changed file with 26 additions and 0 deletions.
26 changes: 26 additions & 0 deletions docs/ref/contrib/postgres/aggregates.txt
Expand Up @@ -208,6 +208,32 @@ General-purpose aggregation functions

Examples are the same as for :attr:`ArrayAgg.ordering`.

Usage example::

class Publication(models.Model):
title = models.CharField(max_length=30)

class Article(models.Model):
headline = models.CharField(max_length=100)
publications = models.ManyToManyField(Publication)

>>> article = Article.objects.create(headline="NASA uses Python")
>>> article.publications.create(title="The Python Journal")
<Publication: Publication object (1)>
>>> article.publications.create(title="Science News")
<Publication: Publication object (2)>
>>> from django.contrib.postgres.aggregates import StringAgg
>>> Article.objects.annotate(
... publication_names=StringAgg(
... "publications__title",
... delimiter=", ",
... ordering="publications__title",
... )
... ).values("headline", "publication_names")
<QuerySet [{
'headline': 'NASA uses Python', 'publication_names': 'Science News, The Python Journal'
}]>

.. deprecated:: 4.0

If there are no rows and ``default`` is not provided, ``StringAgg``
Expand Down

0 comments on commit 29c9bba

Please sign in to comment.