Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Django annotate c условием 
:(
    Опции темы
IgorIs
Дата 29.10.2009, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 23.5.2009

Репутация: нет
Всего: нет



Кусок модели:

Код

class NewsInClusters(models.Model):
    news = models.ForeignKey(News)
    cluster = models.ForeignKey(Clusters)
    user = models.ForeignKey(Users, null=True, db_column='user', blank=True)
    include = models.CharField(max_length=1, blank=True)
    class Meta:
        db_table = u'news_in_clusters'

class Clusters(models.Model):
    id = models.IntegerField(primary_key=True)
    title = models.CharField(max_length=600, blank=True)
    complete = models.CharField(max_length=1, blank=True)
    parent = models.ForeignKey('self')
    lock = models.ForeignKey(Users)
    last_openned = models.DateTimeField(null=True, blank=True)
    class Meta:
        db_table = u'clusters'


Нужно получить список кластеров, их количество, для каждого кластера нужно посчитать общее количество новостей и количество новостей, добавленых пользователем с id = 0.
Общее количество новостей добавляю так:
Код

completed_clusters = Clusters.objects.filter(complete = 1)\
    .values('id', 'title', 'parent')\
    .annotate(all_count=Count('newsinclusters'))\
    .order_by('-all_count')

А вот как добавить в annotate условие типа 'newsinclusters.user' == 0?
PM MAIL   Вверх
Daevaorn
Дата 29.10.2009, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2155
Регистрация: 29.11.2004
Где: Москва

Репутация: 3
Всего: 70



Цитата(IgorIs @  29.10.2009,  15:55 Найти цитируемый пост)
А вот как добавить в annotate условие типа 'newsinclusters.user' == 0? 

Только в 2 запроса
PM MAIL WWW   Вверх
IgorIs
Дата 29.10.2009, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 23.5.2009

Репутация: нет
Всего: нет



Цитата(Daevaorn @ 29.10.2009,  16:06)
Только в 2 запроса

а можно пример?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Веб-разработка и фреймворки | Следующая тема »


 




[ Время генерации скрипта: 0.0445 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.