Taking the example from: http://docs.djangoproject.com/en/dev/topics/db/aggregation/#filter-and-exclude
Publisher.objects.filter(book__rating__gt=3.0).annota
Hm, I think you have to use an extra clause:
Publisher.objects.extra(select={ 'num_books': 'SELECT COUNT(*) ' + \ 'FROM _book ' + \ 'WHERE _book.publisher_id = ' + \ '_publisher.id AND ' + \ 'rating > 3.0' })