def queryCategory(request, sqset, use_or =True): """ Use the given SearchQuerySet (qset) and continue query on category """ CAT_NAME = 'categories' if request.GET.has_key(CAT_NAME): sel_cats = request.GET.get(CAT_NAME, '').split(',') # search with OR or AND option if use_or: if sel_cats: first_cat = models.wrapAssignedCategory(sel_cats[0]) sq = SQ(categories__contains=first_cat) for cat in sel_cats[1:]: org_cat = models.wrapAssignedCategory(cat) sq = sq | SQ(categories__contains=org_cat) sqset = sqset.filter(sq) else: for cat in sel_cats: org_cat = models.wrapAssignedCategory(cat) sqset = sqset.filter(categories__contains=org_cat) return sqset
def queryCategory(request, qset, use_or =True): """ Use the given QuerySet (qset) and continue querying on category using conditions provided from request """ CAT_NAME = 'categories' if request.GET.has_key(CAT_NAME): sel_cats = request.GET.get(CAT_NAME, '').split(',') # search with OR or AND option if use_or: if sel_cats: first_cat = models.wrapAssignedCategory(sel_cats[0]) q = Q(categories__contains=first_cat) for cat in sel_cats[1:]: org_cat = models.wrapAssignedCategory(cat) q = q | Q(categories__contains=org_cat) qset = qset.filter(q) else: for cat in sel_cats: org_cat = models.wrapAssignedCategory(cat) qset = qset.filter(categories__contains=org_cat) return qset