docs: def ensure_fields(self, fields, force_refetch=False):
          """ Makes sure we fetched the fields, and populate them if not. """
  
          # We fetched with fields=None, we should have fetched them all
          if self._fetched_fields is None or self._initialized_with_doc:
              return
  
          if force_refetch:
              missing_fields = fields
          else:
              missing_fields = [f for f in fields if f not in self._fetched_fields]
  
          if len(missing_fields) == 0:
              return
  
          if "_id" not in self:
              raise Exception("Can't ensure_fields because _id is missing")
  
          self.refetch_fields(missing_fields)