get_milestones jest nie potrzebne jako zmienna boolean 

tak jak w innych fetcherach niektóre rzeczy (tu milestony) powinny byc cacheowane w ciele obiektu fetchera oraz w memcacheu.

dlatego get_milestones jest nie potrzebne a przydało by się poprostu pole milestones gdzie była by lista milestonów (ta sama która dodajesz do memcached) na początku jako None a pozniej jako lista zaciagnietych milestonów 

i wtedy gdy potrzebujesz milestonów to robisz:
if self.milestones is None:
data = memcache.get(self.MILESTONES_KEY)
if data is None:
# zaciagnij mile stony

pamietaj ze milestony moga byc pusta tablica wiec trzeba robic is None lub is not None.