It would not be easier / cleaner to just add a counting method to the TaggedItem. Perhaps something like below. I'm a little rusty, this code may not work.
class TaggedItem(models.Model): tag = models.ForeignKey(Tag) content_type = models.ForeignKey(ContentType) object_id = models.PositiveIntegerField() object = generic.GenericForeignKey('content_type', 'object_id') def get_object_count(): return self.object__count
source share