Вьюсеты и роутеры, задание

Напишите view-класс PostViewSet(), унаследовавшись от ModelViewSet, и создайте роутер для него.

Созданный роутер должен генерировать два эндпоинта:

  • api/v1/posts/,
  • api/v1/posts/<int:pk>/.

Через эти эндпоинты должны быть доступны любые операции с моделью Post:

  • POST-запрос на api/v1/posts/ создаст новую запись.
  • Запросы PUT, PATCH или DELETE к адресу api/v1/posts/<pk>/ изменят или удалят существующую запись.
  • GET-запрос на те же адреса вернёт список объектов или один объект.

Подсказка:
При регистрации роутера используйте URL-префикс api/v1/posts

Код views.py:

from rest_framework import viewsets 

from .models import Post
from .serializers import PostSerializer


class PostViewSet(viewsets.ModelViewSet):
    queryset = Post.objects.all()
    serializer_class = PostSerializer

Код urls.py:

from rest_framework.routers import SimpleRouter

from django.urls import include, path

from posts.views import PostViewSet

router = SimpleRouter() 
router.register('api/v1/posts', PostViewSet) 
urlpatterns = [
    path('', include(router.urls)),]




Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: