爱上编程网

DRF单表序列化和反序列化

  • 时间:2019-12-19 15:33 编辑:青柠小助手 来源:网络游戏 阅读:76423
  • 扫一扫,手机访问
摘要:DRF单表序列化和反序列化

标签:att   pos   serial   object   port   comm   反序列化   序列化   post   

  • 安装 djangorestframework

    pip install djangorestframework
  • 将rest_framework注册到app上

    INSTALLED_APPS = [
        ‘rest_framework‘,
        ‘app01‘
        ....
    ]
  • urls

    from django.urls import path
    from . import views
    urlpatterns = [
        path(‘index/‘,views.UserView.as_view()) ]
  • 在models.py

    from django.db import models
    
    # 用户
    class User(models.Model): name = models.CharField(max_length=32,unique=True,null=True)
  • 在 app01 文件下 新建 serializer.py

    from rest_framework import serializers
    from .models import User
    
    # 序列化 class UserSerializers(serializers.ModelSerializer): class Meta: model = User fields = ‘__all__‘ # 反序列化 class UserUnSerializer(serializers.Serializer): name = serializers.CharField(max_length=32) password = serializers.CharField(max_length=255) # 添加数据 def create(self,data): return User.objects.create(**data) # 更新数据 def update(self,instance,data): return instance.update(**data) 
  • 在 views

    from rest_framework.response import Response
    from rest_framework.views import APIView
    from . import models from .serializer import UserSerializers class UserView(APIView): def get(self,request): user = models.User.objects.all() # 序列化 将对象转成json串 data = UserSerializers(user,many=True) return Response(data) # 添加数据 def post(self,request): name = request.POST.get(‘name‘,‘‘).strip() password = request.POST.get(‘password‘,‘‘).strip() dic = {"name":name,"password":password} user = UserUnSerializer(data=dic) if user.is_valid(): user.save() return HttpResponse(‘post-ok‘) return HttpResponse(‘post-no‘) # 更新数据 def put(self,request): id = request.POST.get(‘id‘,‘0‘) obj = models.User.objects.filter(id=id) name = request.POST.get(‘name‘,‘‘).strip() dic = {"name":name} user = UserUnSerializer(obj,data=dic) if user.is_valid(): user.save() return HttpResponse(‘put-ok‘) return HttpResponse(‘put-no‘)

DRF单表序列化和反序列化

标签:att   pos   serial   object   port   comm   反序列化   序列化   post   

原文地址:https://www.cnblogs.com/nbzyf/p/12066945.html

  • 全部评论(0)
最新发布的资讯信息
【数码/游戏/手机|网络游戏】画一棵漂亮的樱花树(不同种樱花+玫瑰+圣诞树喔)(2019-12-19 15:35)
【数码/游戏/手机|网络游戏】conda pip 安装 dgl 并运行demo 出现:Segmentation fault (core dumped) 错误(2019-12-19 15:33)
【数码/游戏/手机|网络游戏】docker image换包步骤(2019-12-19 15:33)
【数码/游戏/手机|网络游戏】Cron表达式(2019-12-19 15:33)
【数码/游戏/手机|网络游戏】DRF单表序列化和反序列化(2019-12-19 15:33)
【数码/游戏/手机|网络游戏】[LC] 287. Find the Duplicate Number(2019-12-19 15:33)
【数码/游戏/手机|网络游戏】正则表达式常用匹配(2019-12-19 15:33)
【数码/游戏/手机|网络游戏】redis(2019-12-19 15:32)
【数码/游戏/手机|网络游戏】并发测试->countDownLatch(2019-12-19 15:32)
【数码/游戏/手机|网络游戏】console 打印消息时,可以使用 %c 指定随后的文本样式; %s 可引用参数变量。(2019-12-19 15:32)
展开