скажем, у меня есть комментарии к модели и ответы к другой модели. Я хочу запросить все комментарии, но также включить в запрос количество ответов, которые есть у каждого комментария. Я думал, что annotate()
будет полезен в этом случае, но я просто не знаю, как это записать. Документы пишут, что:
Новое в Django 1.8: предыдущие версии Django позволяли использовать только агрегатные функции в качестве аннотаций. Теперь можно аннотировать модель всеми видами выражений.
Так. Это пример моих моделей:
class Comments(models.Model):
...
class Answers(models.Model):
comment = models.ForeignKey(Comments)
А это пример запроса:
queryset = Comments.objects.all().annotate(...?)
Я не уверен, как аннотировать Count
ответов, которые есть в каждом комментарии. То есть, сколько ответов указывает на каждый комментарий в поле FK comment
. Это вообще возможно? Есть ли способ лучше? Может лучше просто написать метод на менеджере?