视图的添加与查看"/>
APIView视图的添加与查看
Django - APIView视图的添加与查看
一、在models.py文件中添加数据模型
class Book(models.Model):title = models.CharField(max_length=32,verbose_name="书籍名称")price = models.IntegerField(verbose_name="价格")pub_date = models.DateField(verbose_name="出版日期")bread = models.IntegerField(verbose_name="阅读量") bcomment = models.IntegerField(verbose_name="评论量") publish = models.ForeignKey("Publish",on_delete=models.CASCADE,verbose_name="出版社")# authors = models.ManyToManyField("Author",verbose_name="作者")def __str__(self):return self.titleclass Publish(models.Model):name = models.CharField(max_length=32,verbose_name="出版社名称")email = models.EmailField(verbose_name="出版社邮箱")def __str__(self):return self.nameclass Author(models.Model):name = models.CharField(max_length=32,verbose_name="作者")age = models.IntegerField(verbose_name="年龄")def __str__(self):return self.name
二、使用命令创建表
python manage.py makemigrations
python manage.py migrate
三、在serializers.py创建作者表的序列化器类
class AuthorSerializer(serializers.Serializer):name = serializers.CharField(max_length=32)age = serializers.IntegerField()def create(self,validated_data):author_obj = Author.objects.create(**validated_data)return author_obj
四、构建 作者表的 增删改查 views.py
class AuthorView(APIView):def get(self, request):authors = Author.objects.all() #获取所有数据serializer = AuthorSerializer(instance=authors, many=True) #构建序列化器return Response(serializer.data)def post(self, request):serizlizer = AuthorSerializer(data=request.data) #反序列化器#数据校验#验证通过 serializer.data#验证不通过 serializer.errorsif serizlizer.is_valid():# Author.objects.create(**serializer.validated_data) 这种原始传入数据的方法# return Respons("OK")serizlizer.save()return Response(serizlizer.data)else:return Response(serizlizer.errors)
五、构建路由
path("authors/",AuthorView.as_view)
更多推荐
APIView视图的添加与查看
发布评论