def get_votes(self, request, thread_pk, pk): poll_pk = get_int_or_404(pk) try: thread = self.get_thread(request, thread_pk) if thread.poll.pk != poll_pk: raise Http404() except Poll.DoesNotExist: raise Http404() allow_see_poll_votes(request.user, thread.poll) choices = [] voters = {} for choice in thread.poll.choices: choice['voters'] = [] voters[choice['hash']] = choice['voters'] choices.append(choice) queryset = thread.poll.pollvote_set.values('voter_id', 'voter_name', 'voter_slug', 'voted_on', 'choice_hash') for voter in queryset.order_by('voter_name').iterator(): voters[voter['choice_hash']].append(PollVoteSerializer(voter).data) return Response(choices)
def get_votes(self, request, thread_pk, pk=None): poll_pk = get_int_or_404(pk) try: thread = self.get_thread(request, thread_pk) if thread.poll.pk != poll_pk: raise Http404() except Poll.DoesNotExist: raise Http404() allow_see_poll_votes(request.user, thread.poll) choices = [] voters = {} for choice in thread.poll.choices: choice['voters'] = [] voters[choice['hash']] = choice['voters'] choices.append(choice) queryset = thread.poll.pollvote_set.values( 'voter_id', 'voter_name', 'voter_slug', 'voted_on', 'choice_hash' ) for voter in queryset.order_by('voter_name').iterator(): voters[voter['choice_hash']].append(PollVoteSerializer(voter).data) return Response(choices)