I was wondering if my approach is right or not. Assuming the Restaurant model has only a name.
forms.py
class BaseRestaurantOpinionForm(forms.ModelForm):
opinion = forms.ChoiceField(choices=(('yes', 'yes'), ('no', 'no'), ('meh', 'meh')),
                            required=False,
                            ))
class Meta:
    model = Restaurant
    fields = ['opinion']
views.py
class RestaurantVoteListView(ListView):
    queryset = Restaurant.objects.all()
    template_name = "restaurants/list.html"
    def dispatch(self, request, *args, **kwargs):
        if request.POST:
            queryset = self.request.POST.dict()
        #clean here
            return HttpResponse(json.dumps(queryset), content_type="application/json")
    def get_context_data(self, **kwargs):
        context = super(EligibleRestaurantsListView, self).get_context_data(**kwargs)
        RestaurantFormSet = modelformset_factory(
                                Restaurant,form=BaseRestaurantOpinionForm
                            )
        extra_context = {
            'eligible_restaurants' : self.get_eligible_restaurants(),
            'forms' : RestaurantFormSet(),
        }
        context.update(extra_context)
        return context
Basically I'll be getting 3 voting buttons for each restaurant and then I want to read the votes. I was wondering from where/which clean function do I need to call to get something like:
{ ('3' : 'yes'), ('2' : 'no') } #{ 'restaurant_id' : 'vote' }
This is my second/third question so tell me if I'm being unclear. Thanks.