code: def location(self) -> Optional[PostLocation]:
          
          loc = self._field("location")
          if self._location or not loc:
              return self._location
          location_id = int(loc['id'])
          if any(k not in loc for k in ('name', 'slug', 'has_public_page', 'lat', 'lng')):
              loc = self._context.get_json("explore/locations/{0}/".format(location_id),
                                           params={'__a': 1})['graphql']['location']
          self._location = PostLocation(location_id, loc['name'], loc['slug'], loc['has_public_page'],
                                        loc['lat'], loc['lng'])
          return self._location
docs: If the Post has a location, returns PostLocation namedtuple with fields 'id', 'lat' and 'lng' and 'name'.