DryORM
Code
Result
no cache
Django 6.0
Django 5.2.8
Django 4.2.26 LTS
SQLAlchemy 2.0
Prisma 6.3
SQLite
PostgreSQL 17.4
PostGIS 3.5 (PostgreSQL 16)
MariaDB 11.4.5
Select a template
django
sqlalchemy
prisma
from django.db import models from django.db.models import Count from django.contrib.postgres.aggregates import ArrayAgg, StringAgg class Person(models.Model): name = models.CharField(max_length=100) def __str__(self): return self.name class Pet(models.Model): name = models.CharField(max_length=100) owner = models.ForeignKey(Person, related_name='pets', on_delete=models.CASCADE) def run(): # Create sample data person = Person.objects.create(name='John Doe') Pet.objects.bulk_create([ Pet(name='Rex', owner=person), Pet(name='Mittens', owner=person), Pet(name='Fido', owner=person), ]) # Aggregate all pet names into a single array and a string result = Person.objects.annotate( pet_count=Count('pets'), pet_names_array=ArrayAgg('pets__name'), pet_names_string=StringAgg('pets__name', delimiter=', ') ).get(id=person.id) print(f'{result.name} has {result.pet_count} pets.') print(f'Pet names (array): {result.pet_names_array}') print(f'Pet names (string): {result.pet_names_string}')
Output
Show Template
No output.
Queries
INSERT
I
UPDATE
U
SELECT
S
DELETE
D
DDL
D
TCL
T
Queries
Q
(
0
)
No queries.
✖ Close
Save & Share
✖
private?
Save
Save & Copy