Кусок модели:
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?