Запросы Django: как комментировать с отфильтрованным счетчиком? - PullRequest
1 голос
/ 18 августа 2010

Предположим, у меня есть модель Book с языковым полем и внешним ключом для модели Publisher.

В настоящее время я использую аннотацию Count в пользовательском менеджере Publisher, чтобы позволить мне добавить к администратору сортируемый столбецс количеством книг каждого издателя.(см. Как добавить столбец сортируемого количества к администратору Django модели с отношением «многие к одному»? )

Теперь моя проблема заключается в том, что мне нужен другой столбецрассчитывать для книг, опубликованных на каждом языке.

Есть ли способ сделать аннотацию объектом фильтра соответствующей модели?

1 Ответ

0 голосов
/ 18 августа 2010

Вы можете использовать двойное подчеркивание __ для этой цели. Примерно так (фрагмент взят из вопроса, на который указывает OP):

class PublisherManager(models.Manager):
    def get_query_set(self):
        return super(PublisherManager,self).get_query_set().annotate(lang_count=Count('book__language'))
...