2017-02-07 22 views
0

私はモデルを持っている:外部キーとの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.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の公式文書からどのように次のコードワーク enter image description here

理解できませんでした。 https://docs.djangoproject.com/en/1.10/topics/db/aggregation/

は、私は何をしようとしていることは、私はドキュメントのようにQuestion.objects.filter(owner_id=1).annotate(total_votes=Sum('votes'))を使用 次のモデルの合計票を数えています。しかし、これは私のためには機能しません。

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) 

答えて

0

ご質問モデルはあなたの選択のモデルが

Question.objects.filter(owner_id=1).annotate(total_votes=Sum('choice__votes')) 
を行い票を持っていません
関連する問題