понедельник, 20 сентября 2021 г.

Django ModelViewSets Example







 

 

github
https://github.com/manas-anarov/crud_viewset

 

settings.py

INSTALLED_APPS = [
    'post',
    'rest_framework',
]


crud_view/urls.py

from django.contrib import admin
from django.urls import path
from django.conf.urls import include, url

urlpatterns = [
    path('admin/', admin.site.urls),
    path('post/', include(('post.urls'))),
]


post/urls.py

from rest_framework.routers import DefaultRouter
from .views import PostViewSet

router = DefaultRouter()
router.register('post', PostViewSet)
urlpatterns = router.urls


post/models.py

from django.db import models
from django.contrib.auth.models import User


class Post(models.Model):
    title = models.CharField(max_length=250)
    text = models.TextField()
    def __str__(self):
        return self.title


post/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



post/serializers.py
from rest_framework import serializers
from rest_framework.serializers import (
    ModelSerializer,
)
from .models import (Post,)



class PostSerializer(ModelSerializer):
    class Meta:
        model = Post
        fields = [
            'title',
            'text',
        ]


post/admin.py
from django.contrib import admin
from .models import (Post,)

admin.site.register(Post)