瀏覽代碼

fix(api): streamline calls to RRsetSerializer.save()

Peter Thomassen 5 年之前
父節點
當前提交
f91c27ce8c
共有 2 個文件被更改,包括 11 次插入3 次删除
  1. 8 0
      api/desecapi/serializers.py
  2. 3 3
      api/desecapi/views.py

+ 8 - 0
api/desecapi/serializers.py

@@ -303,6 +303,10 @@ class RRsetSerializer(ConditionalExistenceModelSerializer):
 
         return instance
 
+    def save(self, **kwargs):
+        kwargs.setdefault('domain', self.domain)
+        return super().save(**kwargs)
+
     @staticmethod
     def _set_all_record_contents(rrset: models.RRset, rrs):
         """
@@ -497,6 +501,10 @@ class RRsetListSerializer(serializers.ListSerializer):
 
         return ret
 
+    def save(self, **kwargs):
+        kwargs.setdefault('domain', self.child.domain)
+        return super().save(**kwargs)
+
 
 class DomainSerializer(serializers.ModelSerializer):
 

+ 3 - 3
api/desecapi/views.py

@@ -227,11 +227,11 @@ class RRsetList(EmptyPayloadMixin, DomainViewMixin, generics.ListCreateAPIView,
 
     def perform_create(self, serializer):
         with PDNSChangeTracker():
-            serializer.save(domain=self.domain)
+            serializer.save()
 
     def perform_update(self, serializer):
         with PDNSChangeTracker():
-            serializer.save(domain=self.domain)
+            serializer.save()
 
 
 class Root(APIView):
@@ -375,7 +375,7 @@ class DynDNS12Update(APIView):
             raise e
 
         with PDNSChangeTracker():
-            serializer.save(domain=domain)
+            serializer.save()
 
         return Response('good', content_type='text/plain')