query = InsightSummarySku.query.with_entities(InsightSummarySku.sku_string,
InsightSummarySku.name).group_by(InsightSummarySku.sku_string,
InsightSummarySku.name)
if store_id:
query = query.filter(InsightSummarySku.store_id == store_id)
if search_string:
search_string = search_string.lower()
if '*' in search_string or '_' in search_string:
looking_for = search_string.replace('_', '__') \
.replace('*', '%') \
.replace('?', '_')
else:
looking_for = '%{0}%'.format(search_string)
query = query.filter(func.lower(
InsightSummarySku.name).contains(looking_for))
values = query.paginate(page=page, per_page=per, error_out=False, max_per_page=per)