每日作业 7/7 drf
from django.forms.models import model_to_dict
from django.contrib import admin from django.urls import path from app01 import views urlpatterns = [ path('admin/', admin.site.urls), path('api/books/', views.Books.as_view(),name="books"), path('api/books/<int:book_id>/', views.Books.as_view()), ]
views.py
from django.shortcuts import render from rest_framework.views import APIView from app01 import models from django.http import JsonResponse from django.forms.models import model_to_dict # Create your views here. class Books(APIView): @property def book_id_error(self): return [{'status': 404, 'msg': 'book_id不存在'}] @staticmethod def data_process(queryset_obj): re_list = [] for item in queryset_obj: re_dict=model_to_dict(item) # print(re_dict) re_list.append(re_dict) return re_list def get(self,request,book_id=None): if not book_id: book_queryset = models.Book.objects.all() else: book_queryset = models.Book.objects.filter(pk=book_id) re_list = self.data_process(book_queryset) if book_queryset else self.book_id_error return JsonResponse(re_list, safe=False)

浙公网安备 33010602011771号