Как я могу получить количество записей, которые ссылаются на определенный внешний ключ в Django? - PullRequest
2 голосов
/ 10 декабря 2008

Я работаю над приложением для блога в Django. Естественно, у меня есть модели, настроенные таким образом, что в них есть сообщения и комментарии, и конкретное сообщение может иметь много комментариев; Таким образом, Post является ForeignKey в модели комментариев.

Учитывая объект Post, есть ли простой способ (в идеале, через вызов метода), чтобы узнать, сколько комментариев принадлежит посту?

Ответы [ 2 ]

6 голосов
/ 10 декабря 2008
Comments.objects.filter(post=post).count()

или

post.comment_set.count()
0 голосов
/ 10 декабря 2008

Вы можете добавить поле CommentCount к вашей модели Post и обновить его в сигналах pre_save, pre_delete. Для БД сложно рассчитать количество комментариев при каждом вызове представления, и количество запросов будет расти.

...