code: def search_first(self, *criterion, **kwargs):
          
          query = self._query(*criterion)
          query = self._order_by(query, **kwargs)
          query = self._filter(query, **kwargs)
          # NB: pagination must go last
          query = self._paginate(query, **kwargs)
          return query.first()
docs: Returns the first match based on criteria or None.