0

単純なモデルがあります。

class Post(models.Model):
    created = models.DateField()     
    title = models.CharField(max_length=210) 
    content = models.TextField()

Django ORM で SQL クエリを実装する方法はありますか?

SELECT YEAR(created), COUNT(*)
FROM Post
GROUP BY YEAR(created)

生のSQLは書けるけど避けたい…

4

1 に答える 1

0

Django は、次のように実行できるクエリを作成するための独自のクエリ セットを提供します

   Post.objects.values('created').annotate(dcount=Count('created'))

インポートすることを忘れないでください

from django.db.models import Count

とにかく、次のようにクエリを確認することもできます

>>> queryset = MyModel.objects.all()
>>> print queryset.query
SELECT "myapp_mymodel"."id", ... FROM "myapp_mymodel"
于 2012-09-06T05:46:40.803 に答える