Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
Easy
Description
[2023-04-19 20:59:43,639 django_airavata.apps.api.exceptions:63 ERROR] API exception Traceback (most recent call last): File "/Users/machrist/Airavata/django/django_airavata_gateway/venv/lib/python3.10/site-packages/rest_framework/views.py", line 506, in dispatch response = handler(request, *args, **kwargs) File "/Users/machrist/Airavata/django/django_airavata_gateway/venv/lib/python3.10/site-packages/rest_framework/mixins.py", line 68, in update self.perform_update(serializer) File "/Users/machrist/Airavata/django/django_airavata_gateway/django_airavata/apps/api/views.py", line 225, in perform_update experiment = serializer.save( File "/Users/machrist/Airavata/django/django_airavata_gateway/venv/lib/python3.10/site-packages/rest_framework/serializers.py", line 200, in save self.instance = self.update(self.instance, validated_data) File "/Users/machrist/Airavata/django/django_airavata_gateway/django_airavata/apps/api/thrift_utils.py", line 148, in update return self.create(validated_data) File "/Users/machrist/Airavata/django/django_airavata_gateway/django_airavata/apps/api/thrift_utils.py", line 144, in create params = self.process_nested_fields(validated_data) File "/Users/machrist/Airavata/django/django_airavata_gateway/django_airavata/apps/api/thrift_utils.py", line 139, in process_nested_fields params[field_name] = serializer.create( File "/Users/machrist/Airavata/django/django_airavata_gateway/django_airavata/apps/api/thrift_utils.py", line 144, in create params = self.process_nested_fields(validated_data) File "/Users/machrist/Airavata/django/django_airavata_gateway/django_airavata/apps/api/thrift_utils.py", line 129, in process_nested_fields if (params[field_name] is not None or KeyError: 'autoScheduledCompResourceSchedulingList'
thrift_utils.py assumes that every field will be present even when the field is optional/nullable.