peng 2 år sedan
förälder
incheckning
0ea0c3000f
1 ändrade filer med 13 tillägg och 10 borttagningar
  1. 13 10
      background/views.py

+ 13 - 10
background/views.py

@@ -49,11 +49,12 @@ class QuickStartInfoSet(ModelViewSet):
         return Response(serializer.data)
 
     def update(self, request, *args, **kwargs):
-        link = request.data.get('link')
-        file_key = 'vsees/quick_start_file/{}'.format(link)
-        s3_obj.upload_file_obj(bucket, file_key, link, extra_args={'ACL': 'public-read'})
-        request.data['link'] = 'https://ansjerfilemanager.s3.amazonaws.com/vsees/quick_start_file/{}'.format(link)
-        serializer = self.get_serializer(data=request.data, instance=self.get_object())
+        link = request.data.get('link', None)
+        if link:
+            file_key = 'vsees/quick_start_file/{}'.format(link)
+            s3_obj.upload_file_obj(bucket, file_key, link, extra_args={'ACL': 'public-read'})
+            request.data['link'] = 'https://ansjerfilemanager.s3.amazonaws.com/vsees/quick_start_file/{}'.format(link)
+        serializer = self.get_serializer(data=request.data, instance=self.get_object(), partial=True)
         serializer.is_valid(raise_exception=True)
         self.perform_update(serializer)
         return Response(serializer.data)
@@ -76,11 +77,13 @@ class UpgradeFirmwareInfoSet(ModelViewSet):
         return Response(serializer.data)
 
     def update(self, request, *args, **kwargs):
-        link = request.data.get('link')
-        file_key = 'vsees/upgrade_firmware_file/{}'.format(link)
-        s3_obj.upload_file_obj(bucket, file_key, link, extra_args={'ACL': 'public-read'})
-        request.data['link'] = 'https://ansjerfilemanager.s3.amazonaws.com/vsees/upgrade_firmware_file/{}'.format(link)
-        serializer = self.get_serializer(data=request.data, instance=self.get_object())
+        link = request.data.get('link', None)
+        if link:
+            file_key = 'vsees/upgrade_firmware_file/{}'.format(link)
+            s3_obj.upload_file_obj(bucket, file_key, link, extra_args={'ACL': 'public-read'})
+            request.data['link'] = 'https://ansjerfilemanager.s3.amazonaws.com/vsees/upgrade_firmware_file/{}'.format(
+                link)
+        serializer = self.get_serializer(data=request.data, instance=self.get_object(), partial=True)
         serializer.is_valid(raise_exception=True)
         self.perform_update(serializer)
         return Response(serializer.data)