Django 中 restframework 配置与增删改查操作

本文介绍了在Django中如何配置restframework并进行增删改查操作。内容包括restframework的安装、设置、视图代码、序列化中间件的编写,以及通过Postman进行的查询、更新、删除和新增数据的实战演示。

Django 中 restframework 配置以及增删改查操作


关于student的模型已建好的情况下,建模请查看我的博客[Django创建项目的基本流程 虚拟环境的创建 setting中的相关匹配置 媒体静态文件的配置以及数据库与模型的配置]: https://blog.csdn.net/Lq_520/article/details/81261764

安装

pip install djangorestframework
pip install django-filter

setting中的配置:在工程目录中的settings.py文件的INSTALLED_APPS中需要添加rest_framework

定义url
这里写图片描述

导入相关的信息:

from rest_framework import mixins, viewsets

这里StudentsEdit视图代码如下

from stu.serializers import StudentSerializer
class StudentsEdit(  mixins.ListModelMixin,
                     mixins.RetrieveModelMixin,
                     mixins.UpdateModelMixin,
                     mixins.DestroyModelMixin,
                     mixins.CreateModelMixin,
                     viewsets.GenericViewSet):
    #查询所有信息
    queryset = Student.objects.all()
    #序列化
    serializer_class = StudentSerializer

mixins.ListModelMixin 查询全部信息 GET请求
mixins.RetrieveModelMixin 查询部分信息 GET请求
mixins.UpdateModelMixin为更新 put 要提前提交全部信息 PUTCH 更新部分信息
mixins.DestroyModelMixin 删除 DELETE 请求
mixins.CreateModelMixin 增加 POST请求

如果不添加这些字段,就无法达到你想要的功能。

这里 序列化的中间件serializers.py 文件 如下代码:

#虚拟化 接口返回数据的格式
class StudentSerializer(serializers.ModelSerializer):
    class Meta:
        model = Student
        fields =['s_name','s_tel']
       

之后我们在StudentSerializer中加上如下代码,对地址进行虚拟化:

    def to_representation(self, instance):
        
        data =super().to_representation(instance)
        try:
            data['s_addr'] =instance.studentinfo.i_addr
        except Exception as e:
            data['addr']=''

postman实验:

查询全部信息:

这里写图片描述

查询部分信息
这里写图片描述

修改信息并保存,将访问方式选择为PATCH,选中body,将key为2的value改为妮妮,点击send,效果如下:
这里写图片描述

代表修改数据成功,并将访问方式改为get查询,名字也被改为妮妮。

删除数据,将访问方式改为delete,点击send,结果如下:

这里写图片描述
返回数据为空,代表数据删除成功,这时在用get方式访问,会出现如下字段:

{
    "detail": "Not found."
}

如若访问全部数据,就不会再有id为2的这栏数据了。

增加数据,将访问方式改为POST,将body中key增加s_name和s_tel字段,其value值分别为:花花,14878996588。点击send,效果如下:

这里写图片描述

后再将方式改为get,显示全部信息,就会多出相应的数据。

这所有操作也可访问浏览器端,效果如下,结果不一一展示了。:

这里写图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值