Aggregations
Do you remember that aggregations in SQL are used to compute a single result from a set of input values. Let's remind some common aggregation functions: COUNT, SUM, AVG, MAX, MIN.
At the same time, Aggregation in Django ORM is a powerful tool to perform calculations over query sets, enabling you to summarize or analyze data efficiently. It allows for operations like counting, averaging, summing, etc., across a set of records.
Basic Aggregation Examples
This query counts how many books each author has written.
python912from django.db.models import Countauthor_book_count = Author.objects.annotate(num_books=Count("books"))
Complex Aggregation
Finds the latest publication date for each author.
python912from django.db.models import Maxlatest_book_per_author = Author.objects.annotate(latest_publication=Max("books__publication_date"))
Aggregation with Filters
Aggregates the total pages of all books in the "Fantasy" genre.
pythontotal_pages_fantasy = Book.objects.filter(genre__name="fantasy").aggregate(Sum("pages"))
1. What is the primary use of aggregation functions in SQL?
2. What does the following Django ORM query do? Author.objects.annotate(latest_publication=Max('books__publication_date'))
3. Which Django ORM query is used to aggregate the total pages of all books in the 'Fantasy' genre?
War alles klar?
Danke für Ihr Feedback!
Abschnitt 5. Kapitel 3
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen