code: def fetch(self):
          
          super(DesignDocument, self).fetch()
          if self.views:
              for view_name, view_def in iteritems_(self.get('views', dict())):
                  if self.get('language', None) != QUERY_LANGUAGE:
                      self['views'][view_name] = View(
                          self,
                          view_name,
                          view_def.pop('map', None),
                          view_def.pop('reduce', None),
                          **view_def
                      )
                  else:
                      self['views'][view_name] = QueryIndexView(
                          self,
                          view_name,
                          view_def.pop('map', None),
                          view_def.pop('reduce', None),
                          **view_def
                      )
  
          for prop in self._nested_object_names:
              # Ensure dict for each sub-object exists in locally cached DesignDocument.
              getattr(self, prop, self.setdefault(prop, dict()))
docs: Retrieves the remote design document content and populates the locally
          cached DesignDocument dictionary.  View content is stored either as
          View or QueryIndexView objects which are extensions of the ``dict``
          type.  All other design document data are stored directly as
          ``dict`` types.