| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Python: Веб-разработка и фреймворки > Модели Django — получение количества комментариев |
| Автор: resurtm 23.6.2009, 19:32 | ||
| Привет всем! Есть у меня модели:
Вопрос такой: как можно добавить в результаты, которые выдаёт конструкция Post.objects.all() количество комментариев в каждом из постов? Т.е. чтобы можно было делать так, как нечто вроде Post.objects.all()[0].comments_count. Можно конечно поступить просто и тупо: для каждого поста выполнять запрос SELECT COUNT(*) FROM Comment WHERE Comment.post = 'текущий пост' и передавать массив количеств комментариев в каждом посте в шаблон. Но это как-то тупо, и уверен, что есть способ более гибкий и более красивый. Кто что думает по этому поводу? |
| Автор: Daevaorn 23.6.2009, 19:52 | ||
А какая у вас Джанга? Если post 1.0, то есть такой вариант:
http://docs.djangoproject.com/en/dev/ref/models/querysets/#annotate-args-kwargs |
| Автор: resurtm 23.6.2009, 19:57 | ||||||
Не работает. Пишет, что у Manager отсутствует метод annotate. Тем не менее спасибо, до проблемы сам дотукал. Сделал как-то так:
Всё работает так, как надо. =) Добавлено через 4 минуты и 13 секунд Спасибо за помощь, тем не менее! |