In annotate. When counting records, how can I use a custom query to narrow down what to count?
class User(models.Model):
name = models.CharField(max_length=50)
class Tweet(models.Model):
user = models.ForeignKey("User", related_name="tweet")
favorite = models.IntegerField(default=0)
is_active = models.BooleanField(default=False)
objects = TweetQuerySet.as_manager()
class TweetQuerySet(models.QuerySet):
def buzzed(self):
return self.filter(
is_active=True,
favorite__gte=100
)
# I want to count only the tweets returned using the buzzed query.
users = User.objects.annotate(tweet_count=Count("tweet"))
Thanks in advance.