diff --git a/core/viewsets.py b/core/viewsets.py index e43cd228..d8ad7745 100644 --- a/core/viewsets.py +++ b/core/viewsets.py @@ -1,3 +1,4 @@ +import uuid from uuid import UUID from django.db.models import Q @@ -272,10 +273,18 @@ class OrderViewSet(EvibesViewSet): return qs.filter(user=user) def get_object(self): - lookup_val = self.kwargs.get(self.lookup_field) + lookup_val = self.kwargs[self.lookup_field] + qs = self.get_queryset() + + try: + uuid.UUID(lookup_val) + uuid_q = Q(uuid=lookup_val) + except ValueError: + uuid_q = Q() + obj = get_object_or_404( - self.get_queryset(), - Q(uuid=lookup_val) | Q(human_readable_id=lookup_val) + qs, + uuid_q | Q(human_readable_id=lookup_val) ) self.check_object_permissions(self.request, obj) return obj