【发布时间】:2015-12-29 06:56:36
【问题描述】:
在以下来自 django 文档的示例中,如何获取
Publisher.objects.all()
注释字段 average_rating 使用书籍评分的平均值计算,max_rating 使用书籍的最高评分计算?
from django.db import models
class Author(models.Model):
name = models.CharField(max_length=100)
age = models.IntegerField()
class Publisher(models.Model):
name = models.CharField(max_length=300)
num_awards = models.IntegerField()
class Book(models.Model):
name = models.CharField(max_length=300)
pages = models.IntegerField()
price = models.DecimalField(max_digits=10, decimal_places=2)
rating = models.FloatField()
authors = models.ManyToManyField(Author)
publisher = models.ForeignKey(Publisher)
pubdate = models.DateField()
class Store(models.Model):
name = models.CharField(max_length=300)
books = models.ManyToManyField(Book)
registered_users = models.PositiveIntegerField()
确切地说,我应该能够在查询集之后打印这样的内容:
for p in Publisher.objects.all().annotate(...):
print p, p.average_rating, p.max_rating
【问题讨论】:
标签: python sql django django-queryset