Как я могу получить количество записей, которые ссылаются на конкретный внешний ключ в Django?

голоса
2

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

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

Задан 10/12/2008 в 01:43
источник пользователем
На других языках...                            


2 ответов

голоса
6

Comments.objects.filter(post=post).count()

или:

post.comment_set.count()
Ответил 10/12/2008 в 01:49
источник пользователем

голоса
0

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

Ответил 10/12/2008 в 10:47
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more