From 282d84f8edd34f5fe096810c9c2756f870456bc2 Mon Sep 17 00:00:00 2001 From: Horilla Date: Fri, 4 Oct 2024 17:24:45 +0530 Subject: [PATCH] [UPDT] HORILLA VIEWS: Load initial form values --- horilla_views/generic/cbv/views.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/horilla_views/generic/cbv/views.py b/horilla_views/generic/cbv/views.py index c49d67207..0c18e8914 100644 --- a/horilla_views/generic/cbv/views.py +++ b/horilla_views/generic/cbv/views.py @@ -879,6 +879,7 @@ class HorillaFormView(FormView): return self.model.objects.filter(pk=pk).first() def get_form(self, form_class=None): + pk = self.kwargs.get("pk") if not hasattr(self, "form"): instance = self.get_queryset() @@ -904,7 +905,8 @@ class HorillaFormView(FormView): field = dynamic_tuple[0] key = self.request.session.session_key + "cbv" + field field_instance = form.instance._meta.get_field(field) - value = [] + value = form.initial.get(field, []) + form_field = forms.ChoiceField if isinstance(field_instance, models.models.ManyToManyField): form_field = forms.MultipleChoiceField @@ -915,7 +917,8 @@ class HorillaFormView(FormView): ) ) else: - value = getattribute(getattribute(form.instance, field), "pk") + value = getattr(getattribute(form.instance, field), "pk", value) + CACHE.set( key, {