Создается обычное CRUD приложение на DRF на основе туториала.
При обращении url:
path('api/record/get?uuid=<uuid:pk>', TaskDetail.as_view(), name='retrieve-task')
выдает ошибку 404.
127.0.0.1:8000/task/api/record/get?uuid=75491ea0-e...
А при обращении
path("<uuid:pk>", TaskDetail.as_view(), name='retrieve-task')
все работает ОК.
127.0.0.1:8000/task/75491ea0-eef1-496d-8b9f-df1d89...
Почему при сокращенном варианте url все работает, но при добавлении "api/record/get?uuid=" выходит ошибка?
Как сделать чтобы работало с добавлением "api/record/get?uuid="?
# models.py
class Task(models.Model):
uuid = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False, unique=True)
created = models.DateField(auto_now_add=True)
body = models.TextField()
active = models.BooleanField(default=True)
def __str__(self):
return self.name
# views.py
class TaskDetail(generics.RetrieveAPIView):
# API endpoint that returns a single task by pk.
queryset = Task.objects.all()
serializer_class = TaskSerializer
#serializers.py
class TaskSerializer(serializers.ModelSerializer):
class Meta:
model = Task
fields = ['uuid', 'created', 'body', 'active']
#urls.py
urlpatterns = [
path('api/record/create/', TaskCreate.as_view(), name='create-task'),
path('api/records/all', TaskList.as_view()),
path('api/record/get?uuid=<uuid:pk>', TaskDetail.as_view(), name='retrieve-task'),
path('api/record/delete?uuid=<uuid:pk>', TaskDelete.as_view(), name='delete-task')
]