2011-07-18 4 views
4

私はBooksCategoriesの2つのモデルを持っています。彼らが持っている本の量によってどのように上位10のカテゴリが得られるのでしょうか?djangoで「人気のあるカテゴリ」を取得

私のモデルでは、すべてのヘルプは素晴らしいことだ。この

class Book(models.Model): 
    """(Book description)""" 
    categories = models.ManyToManyField(Category) 

class Category(models.Model): 
    """(Topic description)""" 
    name = models.CharField(blank=False, max_length=100) 

おかげのように見えます。

答えて

5

DjangoのドキュメントでAggregation and order-byをご覧ください。あなたが好きな何かを行うことができるはず

Category.objects.annotate(num_books=Count('book')).order_by('num_books') 

スライスを使用してこれはあなたにその人気が注文したカテゴリのリストが表示されます、そしてあなたは、最初(または最後)を表示することができます10。

関連する問題