docs: def smart_query(cls, filters=None, sort_attrs=None, schema=None):
          """
          Does magic Django-ish joins like post___user___name__startswith='Bob'
           (see https://goo.gl/jAgCyM)
          Does filtering, sorting and eager loading at the same time.
          And if, say, filters and sorting need the same joinm it will be done
           only one. That's why all stuff is combined in single method
          
          :param filters: dict 
          :param sort_attrs: List[basestring]
          :param schema: dict
          """
          return smart_query(cls.query, filters, sort_attrs, schema)