牌語備忘録 -pygo

あくまでもメモです。なるべくオフィシャルの情報を参照してください。

牌語備忘録 -pygo

Django の annotate で集計してみるメモ

忘れるのでメモ
(たぶんこうなるという例。動作確認はしてない。)

from django.db import models

class Author(models.Model):
    name = models.CharField()
    book = models.ForeignKey(Book)

class Book(models.Model):
    name = models.CharField()
    pubdate = models.DateField()
>>> from django.db.models import Count
>>> from author.models import Author
>>> authors = Author.objects.annotate(num_book=Count('book')).order_by('-num_book')
>>> authors[0].num_book
508
>>> authors[0].pk
17

参考