in line 38 i have that print statement, it's output is at the top , I dont know why that initial data is not going into that model formset. actually one data the PAN_ID actually went into the modelform, but the checkbox's "checked" didnt. You can see the html of the formset and the checkbox field doesnt has a checked.
Code in paste https://bpa.st/FOUQ GET <input type="hidden" name="form-TOTAL_FORMS" value="1" id="id_form-TOTAL_FORMS"><input type="hidden" name="form-INITIAL_FORMS" value="1" id="id_form-INITIAL_FORMS"><input type="hidden" name="form-MIN_NUM_FORMS" value="0" id="id_form-MIN_NUM_FORMS"><input type="hidden" name="form-MAX_NUM_FORMS" value="1000" id="id_form-MAX_NUM_FORMS"> <tr><th><label for="id_form-0-print_report_check">Print report check:</label></th><td><input type="checkbox" name="form-0-print_report_check" id="id_form-0-print_report_check"><input type="hidden" name="form-0-PAN_ID" value="10012000" disabled id="id_form-0-PAN_ID"></td></tr> [{'PAN_ID': '10012000', 'print_report_check': True}] class ListFormSetView(ListView): context_formset_name = "formset" def get_factory_object(self): return modelformset_factory( self.model, form=self.form_class, extra=0, ) def get_context_data(self, *, object_list=None, **kwargs): context_formset_name = getattr( self, "context_formset_name") context_data = super().get_context_data(**kwargs) object_list = context_data["object_list"] initial_data = self.get_initial(object_list) context_data[context_formset_name] = self.get_factory_object()( queryset=object_list, initial=initial_data ) print(self.request.method , "\n", context_data[context_formset_name], "\n" ,initial_data ) return context_data def get_initial(self, queryset=None): """Generate the initial data for the paginated queryset for the current page""" if queryset is None: queryset = [] try: return self.initial except AttributeError: data = [ {**{ field_name: getattr(item, field_name) for field_name in self.form_class._meta.fields if hasattr(item, field_name) }, "print_report_check":True} for item in queryset ] if self.request.method == "GET": try: userids_for_checked_boxes = PrintStatementData["to_download"][ PrintStatementData["list-formset-view_previous-page"] ] except KeyError: pass else: for i in data: if i["PAN_ID"] in userids_for_checked_boxes: i["print_report_check"] = True return data def get_formset_for_previous_page(self): """Set the `page_kwarg` 's value to the previous page's value because the formset's data needs to be compared to the previous page's data. The `paginate_queryset` method uses self.kwargs["page_kwarg"] to get the queryset corresponding to a page.So just to get the initial data corresponding to the previous page through `self.get_form_kwargs` we first need to do this.""" PrintStatementData[ "list-formset-view_current-page"] = int(self.request.GET.get( self.page_kwarg)) self.kwargs[self.page_kwarg] = PrintStatementData.get( "list-formset-view_previous-page") formset = self.get_factory_object()(**self.get_form_kwargs()) self.kwargs[self.page_kwarg] = PrintStatementData.get( "list-formset-view_current-page") return formset -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/f38a5d27-34bb-4346-ad0c-6ad564a55002n%40googlegroups.com.

