接续昨天的专案,创建好负责管理资料库的 model 之後,接着我们今天要来建立 Serializers 以及 Views。
编写 food 的 serializers, 负责处理 Food 的 资料沟通。
from rest_framework import serializers
from .models import Food
class FoodSerializer(serializers.ModelSerializer):
class Meta:
model = Food
fields = "__all__"
於 views.py 中 引入 Food 及 FoodSerializers,使用 Concrete View Classes 建立两个 view 功能。
FoodListCreateAPIView 提供 List , Create 的功能,可以列出 Food 物件以及新增 Food 物件
FoodDetailAPIview 提供 Retrieve, Update, Destroy 功能,可以对於 Food 进行资讯的查询,修改及删除。
from rest_framework import generics
from .models import Food
from .serializers import FoodSerializer
class FoodListCreateAPIView(generics.ListCreateAPIView):
queryset = Food.objects.all()
serializer_class = FoodSerializer
class FoodDetailAPIview(generics.RetrieveUpdateDestroyAPIView):
queryset = FOod.objects.all()
serializer_class = FoodSerializer
接着我们在 urls.py 中新增相对应路径
from django.urls import path
from .views import FoodDetailAPIview, FoodListCreateAPIView
urlpatterns = [
path("food/", FoodListCreateAPIView.as_view(), name="food-list"),
path("food/<int:pk>/", FoodDetailAPIview.as_view(), name="food-detail")
]
如此我们可以完成一个可以进行浏览,个别查询,修改,即删除的菜单系统 API
接下来我们继续持续完善这个 API ~
>>: 追求JS小姊姊系列 Day25 -- 工具人、姐妹的存活原理:宣告变数的有效区域
今天回到大神的教学 重新认识 Vue.js | Kuro Hsu 3-3 Vue CLI 环境设定与...
写了好几天的事前准备、我想大家应该都腻了。终於、准备到了一定程度、可以进入本文了。这篇文章主要的目的...
大家星期五快乐!TGIF~ 今天想跟大家分享 Next.js 这个 React 框架 (官网写 &q...
如果我有一个小猫类别,我想要这个小猫类别有飞行功能,你会怎麽做? 直接写一个有飞行功能的小鸟类别,然...
Mikrotik RouterOS从入门到实战系列-Mikrotik入门第四课 VPN详解与实战应用...