Skip to content

Instantly share code, notes, and snippets.

@andriykohut
Created June 20, 2023 14:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save andriykohut/90e57ee1626425596181a492c0bb4abe to your computer and use it in GitHub Desktop.
Save andriykohut/90e57ee1626425596181a492c0bb4abe to your computer and use it in GitHub Desktop.
Simplify
diff --git a/backend/apps/api/versions/v1/urls.py b/backend/apps/api/versions/v1/urls.py
index af63485..2980116 100644
--- a/backend/apps/api/versions/v1/urls.py
+++ b/backend/apps/api/versions/v1/urls.py
@@ -83,7 +83,7 @@ urlpatterns = [
name="source-objects",
),
path(
- "source/<int:source_id>/objects/<int:object_id>/",
+ "source/<int:source_id>/objects/<int:pk>/",
ObjectListViewSet.as_view({"get": "retrieve", "patch": "partial_update"}),
name="source-object",
),
diff --git a/backend/apps/api/versions/v1/views.py b/backend/apps/api/versions/v1/views.py
index a97754c..fd61acd 100644
--- a/backend/apps/api/versions/v1/views.py
+++ b/backend/apps/api/versions/v1/views.py
@@ -90,29 +90,12 @@ class ObjectListViewSet(BaseViewSet):
def get_queryset(self) -> QuerySet:
filters = {"database_id": self.kwargs["source_id"]}
if "object_id" in self.kwargs:
- filters["object_id"] = self.kwargs["object_id"]
+ filters["object_id"] = self.kwargs["pk"]
return ObjectList.objects.filter(**filters)
- def retrieve(self, *args: Any, **kwargs: Any) -> Response:
- qs = get_object_or_404(self.get_queryset())
- serializer = self.get_serializer(qs)
- return Response(serializer.data)
-
- def list(self, request: Request, *args: Any, **kwargs: Any) -> Response:
- serializer = self.get_serializer(self.get_queryset(), many=True)
- return Response(serializer.data)
-
@extend_schema(request=SourceObjectUpdateSerializer, responses={200: SourceObjectSerializer})
def partial_update(self, request: Request, *args: Any, **kwargs: Any) -> Response:
- instance = get_object_or_404(self.get_queryset())
- serializer = SourceObjectUpdateSerializer(instance, data=request.data, partial=True)
- serializer.is_valid(raise_exception=True)
- self.perform_update(serializer)
-
- if getattr(instance, "_prefetched_objects_cache", None):
- instance._prefetched_objects_cache = {} # pylint: disable=protected-access
-
- return Response(serializer.data)
+ return super().partial_update(request, *args, **kwargs)
class FieldListViewSet(BaseViewSet):
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment