docs: def dimensions(self, *dimensions):
          """ Add a list of Dimension ingredients to the query. These can either be
          Dimension objects or strings representing dimensions on the shelf.
  
          The Dimension expression will be added to the query's select statement
          and to the group_by.
  
          :param dimensions: Dimensions to add to the recipe. Dimensions can
                           either be keys on the ``shelf`` or
                           Dimension objects
          :type dimensions: list
          """
          for d in dimensions:
              self._cauldron.use(self._shelf.find(d, Dimension))
  
          self.dirty = True
          return self