code: def values_list(self, *fields, **kwargs):
          
          flat = kwargs.pop('flat', False)
          if kwargs:
              raise ValueError('Unexpected keyword arguments for the values method: %s'
                               % list(kwargs))
  
          if not fields:
              fields = self._get_simple_fields()
  
          if flat and len(fields) > 1:
              raise ValueError("'flat' is not valid when values is called with more than one field.")
  
          fields = self._coerce_fields_parameters(fields)
  
          self._instances = False
          self._values = {'fields': fields, 'mode': 'flat' if flat else 'tuples'}
          return self
docs: Ask the collection to return a list of tuples of given fields (in the
          given order) for each instance found in the collection.
          If 'flat=True' is passed, the resulting list will be flat, ie without
          tuple. It's a valid kwarg only if only one field is given.
          If no fields are given, all "simple value" fields are used.