From f337bbbb27aaae2205e7fc6b0417713b0dfee973 Mon Sep 17 00:00:00 2001 From: AdalbertoCV <34152734@uaz.edu.mx> Date: Mon, 11 Nov 2024 19:43:13 -0600 Subject: [PATCH] conversion de formData a dict --- cosiap_api/dynamic_tables/views.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/cosiap_api/dynamic_tables/views.py b/cosiap_api/dynamic_tables/views.py index 017b985..d3bf644 100644 --- a/cosiap_api/dynamic_tables/views.py +++ b/cosiap_api/dynamic_tables/views.py @@ -39,6 +39,15 @@ class DynamicTableAPIView(BasePermissionAPIView): dynamic_form_exist = False + def formdata_to_dict(self, formdata): + """ + Convierte un FormData recibido en un diccionario con el formato {"column1": "new_value", "column2": "new_value"}. + """ + data_dict = {} + for key, value in formdata.items(): + data_dict[key] = value + return data_dict + def check_user_permissions(self, user, pk): ''' Verificamos el acceso de un usuario a una instancia en específico @@ -198,6 +207,7 @@ class DynamicTableAPIView(BasePermissionAPIView): # Obtener datos de actualización del request field_updates = request.data.get('field_updates', {}) + formatted_field_updates = self.formdata_to_dict(field_updates) register_updates = request.data.get('register_updates', {}) # Extraer la configuración, o si no fue enviada asignamos la predeterminada @@ -225,7 +235,7 @@ class DynamicTableAPIView(BasePermissionAPIView): try: # Actualizar los valores de los campos del registro y guardar la instancia - success = serializer.update_fields(instance, field_updates) + success = serializer.update_fields(instance, formatted_field_updates) if success: Mensaje.success(response_data, 'Campos actualizados con éxito.') -- GitLab