Python 使用外键的django聚合是如何工作的?
我有一个模型:Python 使用外键的django聚合是如何工作的?,python,django,Python,Django,我有一个模型: 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.IntegerF
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()
我无法理解下面的代码是如何工作的
这是django官方文件中的备忘单。
我想做的是计算以下模型的总票数
我使用Question.objects.filter(owner\u id=1)。注释(total\u voces=Sum('voces'))
,如文档中所示。但这对我不起作用
class Question(models.Model):
question_text = models.CharField('Question',max_length=200)
pub_date = models.DateTimeField('date published')
owner = models.ForeignKey(User,default=DEFAULT_USER_ID)
class Choice(models.Model):
question = models.ForeignKey(Question, on_delete=models.CASCADE)
choice_text = models.CharField(max_length=200)
votes = models.IntegerField(default=0)
您的问题模型没有投票权您的选择模型有投票权
Question.objects.filter(owner_id=1).annotate(total_votes=Sum('choice__votes'))