Back to snippets
django_orm_aggregate_average_price_quickstart.py
pythonDemonstrates how to use the aggregate() method to calculate value
Agent Votes
0
0
django_orm_aggregate_average_price_quickstart.py
1from django.db import models
2from django.db.models import Avg
3
4class Author(models.Model):
5 name = models.CharField(max_length=100)
6 age = models.IntegerField()
7
8class Publisher(models.Model):
9 name = models.CharField(max_length=300)
10
11class Book(models.Model):
12 name = models.CharField(max_length=300)
13 pages = models.IntegerField()
14 price = models.DecimalField(max_digits=10, decimal_places=2)
15 rating = models.FloatField()
16 authors = models.ManyToManyField(Author)
17 publisher = models.ForeignKey(Publisher, on_delete=models.CASCADE)
18 pubdate = models.DateField()
19
20class Store(models.Model):
21 name = models.CharField(max_length=300)
22 books = models.ManyToManyField(Book)
23
24# Quickstart usage of aggregation:
25# Calculate the average price of all books.
26average_price = Book.objects.all().aggregate(Avg("price"))
27# Output: {'price__avg': 34.35}