def _fetch_work_results(request): s = DCSolrSearch(request) work_res = s.group_search(['title'], fq=['type:(duchemin_analysis OR duchemin_piece)']) if work_res.count == 0: return render(request, 'search/no_results.html') try: wpage = int(request.GET.get('wpage', '1')) except ValueError: wpage = 1 try: work_results = work_res.page(wpage) except (EmptyPage, InvalidPage): work_results = work_res.page(work_res.num_pages) work_results.pager_id = 'works' is_logged_in = False if request.user.is_authenticated(): is_logged_in = True profile = request.user.profile favourite_pieces = [f[0] for f in profile.favourited_piece.all().values_list('piece_id')] print favourite_pieces if favourite_pieces: for piece in work_results.object_list: if piece.piece_id in favourite_pieces: piece.is_favourite = True else: piece.is_favourite = False data = { 'work_results': work_results, 'is_logged_in': is_logged_in } return render(request, 'search/work_result_list.html', data)