Django Row Update in Table -
i'm trying update database row based on table row's info. i've attached screenshot of ui here: table form
as can see image each table row has individual form should update database related database row. there way iterate on instances in queryset when rendering form? or possible set each rendered form's id/action uniquely , have passed post request on submission.
views.py
class createrequestlistview(listview, modelformmixin): model = storerequest form_class = storerequestform second_form_class = storeconfirmform template_name = 'create-request.html' def get(self, request, *args, **kwargs): self.object = none self.form = self.get_form(self.form_class) record_request_id = storerequest.objects.get(id=3) self.form2 = storeconfirmform(request.post, instance=record_request_id) return listview.get(self, request, *args, **kwargs) def post(self, request, *args, **kwargs): self.object = none self.form = self.get_form(self.form_class) record_request_id = storerequest.objects.get(id=3) self.form2 = storeconfirmform(request.post, instance=record_request_id) if self.form.is_valid(): self.object = self.form.save(commit=false) self.object.request_created_by = request.user self.object.request_date = timezone.now() self.object.save() self.form = self.get_form(self.form_class) return httpresponseredirect('/tracker/requests') elif self.form2.is_valid(): self.object = self.form2.save(commit=false) self.object.request_confirmed_by = request.user self.object.request_fulfilled_date = timezone.now() self.object.save() return httpresponseredirect('/tracker/requests') return self.get(request, *args, **kwargs) def get_context_data(self, *args, **kwargs): context = super(createrequestlistview, self).get_context_data(*args, **kwargs) context['storerequests'] = storerequest.objects.exclude(request_invoice_no__isnull=false) context['form'] = self.form context['form2'] = self.form2 context['errorlist'] = self.form.errors return context
Comments
Post a Comment