美文网首页Django-...
RestFreamwork笔记:正向数据序列化和逆向json数据

RestFreamwork笔记:正向数据序列化和逆向json数据

作者: 金金刚狼 | 来源:发表于2017-07-27 11:55 被阅读0次

#-*- coding:utf-8 -*-

fromrest_frameworkimportserializers

from.modelsimportSnippet

from.modelsimportLANGUAGE_CHOICES,STYLE_CHOICES

classSnippetSerializer(serializers.Serializer):

"""

方法一:继承自Serializer这个基础序列器

显式的定义创建一个Serializer类,在这个Serrializer类里面,对数据库的每个字段都进行覆盖

实现create,update,delete等方法

数据序列化用数据的方式:

serializer = SnippetSerializer(snippet)

serializer.data # 返回一个ReturnDict类型的list

content = JSONRender().render(serializer.data) # 把序列化后的数据变为Json数据

content # 此时的content就是一个json数据

反过来的操作:

from django.utils.six import BytesIO

stream = BytesIO(content)

data = JSONParser().parse(content)

serializer = SnippetSerializer(data=data)  #返回的数据是一个ReturnDict类型list

serializer.is_valide() 验证是否是正确数据

serializer.validated_data 取到数据

serializer.save() 把数据保存成一个Snippet对象

"""

pk=serializers.IntegerField(read_only=True)

title=serializers.CharField(required=False,allow_blank=True,max_length=100)

code=serializers.CharField(style={'base_template':'textarea.html'})

linenos=serializers.BooleanField(required=False)

language=serializers.ChoiceField(choices=LANGUAGE_CHOICES,default='python')

style=serializers.ChoiceField(choices=STYLE_CHOICES, default='friendly')

defcreate(self, validated_data):

"""

如果数据合法,就创建并返回一个snippet实例

"""

returnSnippet.objects.create(**validated_data)

defupdate(self, instance, validated_data):

"""

@instance :

@validated_data:

如果数据合法,就更新并返回一个存在的snippet实例

"""

instance.title=validated_data.get('title',instance.title)

instance.code=validated_data.get('title',instance.title)

instance.linenos=validated_data.get('title',instance.title)

instance.language=validated_data.get('title',instance.title)

instance.style=validated_data.get('title',instance.title)

instance.save()

returninstance

相关文章

  • RestFreamwork笔记:正向数据序列化和逆向json数据

    #-*- coding:utf-8 -*- fromrest_frameworkimportserializers...

  • iOS JSON 数据解析

    (1)JSON数据->OC对象(反序列化) (2)OC对象->JSON对象(序列化) (3)OC对象和JSON数据...

  • 序列化,序列化高级

    序列化 序列化:把对象(Dict)转成可传输数据(JSON) 反序列化:把传输数据(json)转成对象(Dict)...

  • 网络

    NSURLConnection NSURLSession 普通网络请求 JSON数据解析 JSON序列化 数据解析...

  • 多线程网络-5

    Xmind ①发送请求拿到JSON数据后如何序列化(解析) ②如何把OC对象转换为JSON ③JSON数据和OC对...

  • 4.django返回json格式数

    Django数据序列化 1.Python json模块 介绍Json Json(Javascript Object...

  • Json & Gson

    1 Json 定义:轻量级的数据交换格式2 json反序列化成bean,bean序列化成json,都是通Json解...

  • Python模块 | json 模块

    json.dumps()序列化,存储。(对数据进行编码,形成json格式的数据) 从结果中,可以看出:原始数据类型...

  • python-序列化-json-pickle-shelve

    把内存数据,转成字符,叫序列化把字符转成内存数据叫反序列化内存数据存到硬盘时需要转成字符json.dumps() ...

  • 论protobuf

    protobuf是google开发的一种数据描述语言,与JSON/XML类似,支持对结构化数据进行序列化和反序列化...

网友评论

    本文标题:RestFreamwork笔记:正向数据序列化和逆向json数据

    本文链接:https://www.haomeiwen.com/subject/ydlzkxtx.html