Django Rest Framework:模型->JSON和JSON<-模型
来源:互联网 发布:竞价系统源码 编辑:程序博客网 时间:2024/05/03 21:45
Django Rest Framework:模型->JSON和JSON<-模型
情况
模型文件 models.py
class Car(models.Model): first_name=models.CharField(max_length=40) last_namr=models.CharField(max_length=40) SHIRT_SIZES=(('S','小'),('M','中'),('L','大')) shirt_size=models.CharField(max_length=8,choices=SHIRT_SIZES) def __str__(self): return self.first_name+self.last_namr
序列化文件 serializers.py
#导入rest框架序列化组件from rest_framework import serializers#导入模型文件类from Application.models import Carclass CarSerializer(serializers.Serializer): #此处和模型文件一致 id = serializers.IntegerField(read_only=True) first_name = serializers.CharField(required=False, allow_blank=True, max_length=100) last_namr = serializers.CharField(max_length=40) shirt_size = serializers.CharField(max_length=8) def create(self, first_name): """ Create and return a new `Snippet` instance, given the validated data. """ return Car.objects.create(first_name=first_name,last_namr='test',shirt_size='L') def update(self, instance, validated_data): """ Update and return an existing `Snippet` instance, given the validated data. """ instance.first_name = validated_data.get('first_name', instance.first_name) instance.last_namr = validated_data.get('last_namr', instance.last_namr) instance.shirt_size = validated_data.get('shirt_size', instance.shirt_size) instance.save() return instance
console中,从数据中拿到一个car
from Application.models import CarCar.objects.all()<QuerySet [<Car: 罗浩>, <Car: 1last>]>Car.objects.all()[0]<Car: 罗浩>Car.objects.all()[1]<Car: 1last>#从数据中拿到一个carmycar=Car.objects.all()[1]mycar<Car: 1last>
模型->JSON
代码
#导入from Application.serializers import CarSerializer#生成rest框架支持的类serializer=CarSerializer(mycar)serializer.data
测试
serializerCarSerializer(<Car: 1last>): id = IntegerField(read_only=True) first_name = CharField(allow_blank=True, max_length=100, required=False) last_namr = CharField(max_length=40) shirt_size = CharField(max_length=8)serializer.data{'id': 2, 'first_name': '1', 'shirt_size': '', 'last_namr': 'last'}
JSON->模型
代码
#得到一个jsondata=serializer.data#json变为字符串from rest_framework.renderers import JSONRenderercontent=JSONRenderer().render(data)#字符串转为二进制数据流from django.utils.six import BytesIOstream=BytesIO(content)#转为JSONParsefrom rest_framework.parsers import JSONParserdata = JSONParser().parse(stream)#最后一个JSONParse到Modeldata=CarSerializer(data=data)
0 0
- Django Rest Framework:模型->JSON和JSON<-模型
- JSON模型
- 使用Django REST Framework来快速实现API调用服务——上篇(运行环境和模型层)
- 为Django中的模型Model添加JSON类型字段
- Django REST framework 返回json 数据以及 admin 分页返回数据方法
- Json accelerator --- json 转 模型文件
- JSON数据转化成模型
- 网络:自定义模型转 JSON
- ios-json数据转模型
- swift3 模型转字典(JSON)
- Json转模型1--SwiftyJson
- Django REST framework
- Django REST framework API
- Django REST framework
- Django-Rest-Framework 教程
- django rest framework Serializer
- Django Rest Framework
- django rest framework quickstart
- bzoj3132(二维树状数组+公式化简处理)
- CSS学习笔记(五)--CSS3
- 优秀的编程风格——时刻告诫自己
- cookie、session和数据源小结
- 堆的使用及堆排序
- Django Rest Framework:模型->JSON和JSON<-模型
- 华为OJ训练之0029-170109-成绩排序
- Java字节字符流转换
- ZSTU校赛Problem D: 买iphone(背包)
- 主键重复处理办法
- sublime text3快捷键
- LightOJ
- 华为OJ训练之0030-170110-多线程
- 【Java集合源码剖析】LinkedList源码剖析