title: django order by count of many to many object
body: <p>I have a model :</p>
  
  <pre><code>class Category(models.Model):
      questions = models.ManyToManyField('Question', related_name="cat_question", blank=True)
      cat_name = models.CharField(max_length=50)
      cat_description = models.CharField(max_length=255)
  
      def __unicode__(self):
          return self.cat_name
  </code></pre>
  
  <p>and in my view I have :</p>
  
  <pre><code>top_categories = Category.objects.all()[:7].
  </code></pre>
  
  <p>I am passing it as context in the template.
  I want to sort the top categories by the number of questions in it like if A category has most question then it should be in top and if B has most question then B. Then second most and so on..</p>
  
  <p>like <code>top_categories = Category.objects.all().order_by(Count(question)</code></p>
  
  <p>Any help ?</p>