'NB! This generator is expensive, so use it with care!!'

def descendant_objects(self):

    for obj in self.articleforobject_set.filter(is_mptt=True):
        for descendant in obj.content_object.get_descendants():
            (yield descendant)
