from django.db import models
# Create your models here.classbook(models.Model):
bookname = models.TextField(verbose_name="书名")
price = models.FloatField(verbose_name="价格")
author = models.TextField(verbose_name="作者")
serializers.py
from rest_framework import serializers
from myapp.models import book
classbookSerializers(serializers.ModelSerializer):classMeta:
model = book
fields ="__all__"
views.py
from django.shortcuts import render
from rest_framework import viewsets
from rest_framework.decorators import action
from rest_framework import filters
from myapp.models import book
from myapp.serializers import bookSerializers
from rest_framework.pagination import PageNumberPagination
from django_filters.rest_framework import DjangoFilterBackend
# Create your views here.classLargeResultsSetPagination(PageNumberPagination):
page_size =3
page_size_query_param ="page_size"
max_page_size =10000classbookViewSets(viewsets.ModelViewSet):
queryset = book.objects.all()
serializer_class = bookSerializers
pagination_class = LargeResultsSetPagination
filter_backends =[DjangoFilterBackend, filters.OrderingFilter]
filterset_fields ="__all__"
ordering_fields ="__all__"
urls.py
from django.contrib import admin
from django.urls import path, include
from rest_framework.routers import DefaultRouter
from myapp.views import bookViewSets
router = DefaultRouter()
router.register(r"books", bookViewSets, basename="books")
urlpatterns =[
path("admin/", admin.site.urls),
path("", include(router.urls)),]