たとえば、「ClassRoom」という名前のモデルと「Student」という名前のモデルがあり、StudentがClassRoomと外部キーの関係にあるとします。
Class Student(models.Model):
classroom = models.ForeignKey(ClassRoom, related_name='student')
基本的なDjangoクエリを使用して、どのクラスルームに最も多くの生徒がいるのかを見つけるにはどうすればよいですか。答えを見つけるために私がしたことは、もっと簡単なはずだと思われます。
max = 0
for c in ClassRoom.objects.all():
if c.student.count() > max:
print 'ID: %s' % c.id
max = c.student.count()
次に、最後に印刷されたIDを取得し、クラスルームIDに対して.get()クエリを実行します。とにかく、アノテーションまたは集計を使用してこれを行うことはできますか?