DRF单表序列化和反序列化
安装 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=,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=)
password = serializers.CharField(max_length=)# 添加数据
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','')
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单表序列化和反序列化的更多相关文章
- DRF框架(三)——media资源路径设置、多表设计复习及补充、序列化组件(ModelSerializer)操作多表(序列化与反序列化)、多表序列化与反序列化整合(重点)
media资源路径设置 (设置好后把图片放在这个文件夹中,通过链接能访问到图片) 1.先在根目录设置一个media文件夹 2.配置settings.py,加上下面的 MEDIA_URL = '/me ...
- day71:drf:API接口&Restful API规范&Django Rest Framework&drf中的序列化和反序列化功能
目录 1.web应用模式 2.API接口 3.Restful API规范 4.序列化 5.Django Rest Framework 1.drf的简单介绍 2.drf的特点 3.如何安装drf 4.d ...
- drf 单表
^_^ # [{title,price},{}] 构造的数据结构 简单的FBV/CBV def showbooks(request): # FBV if request.method =='GET': ...
- DRF一对多序列化和反序列化
models.py # 商品分类 class Category(models.Model): name = models.CharField(max_length=32) # 商品 class Goo ...
- drf的序列化和反序列化
序列化器--Serializer 选项参数: max_length 最大长度 min_length 最小长度 allow_blank 是否允许为空 trim_whitespace 是否截断空白字符 m ...
- drf序列化与反序列化
序列化器-Serializer 定义序列化器 Django REST framework中的Serializer使用类来定义,须继承自rest_framework.serializers.Serial ...
- DRF框架(二)——解析模块(parsers)、异常模块(exception_handler)、响应模块(Response)、三大序列化组件介绍、Serializer组件(序列化与反序列化使用)
解析模块 为什么要配置解析模块 1)drf给我们提供了多种解析数据包方式的解析类 form-data/urlencoded/json 2)我们可以通过配置来控制前台提交的哪些格式的数据后台在解析,哪些 ...
- drf序列化和反序列化
目录 drf序列化和反序列化 一.自定义序列化 1.1 设置国际化 二.通过视图类的序列化和反序列化 三.ModelSerializer类实现序列化和反序列化 drf序列化和反序列化 一.自定义序列化 ...
- 5) ModelSerializer(重点) 基表 测试脚本 多表关系建外键 正反查 级联 插拔式连表 序列化反序列化整合 增删查 封装response
一.前戏要做好 配置:settings.py #注册drf INSTALLED_APPS = [ # ... 'api.apps.ApiConfig', 'rest_framework', ] # ...
随机推荐
- nginx重启后,反向代理失败之问题排查记录
问题与排查过程 本地开发环境的服务器,部署了nginx,nginx上对静态的web前端页面进行了http 80端口代理:然后呢,因为一些原因,服务器重启了,重启服务器后,我去把nginx启动起来,但是 ...
- sina中的附件图片处理
这样写就会频繁的创建和销毁对象 因为setPhotos这个方法调用频繁 如果在里面直接用for循环创建9个UIImageView如果因为cell重用 比如在上一个cell中本来就有UIImageVie ...
- mysql——中文数字排序的实现(FIELD)
今天遇到一个需求,要求排序输出网格信息,但是数据是第三方对接插入的,并没有给我们排好顺序.所以只能自己动手了. 下图是原数据: 我们需要将其升序输出.使用mysql中的函数FIELD.语法如下: SE ...
- KETTLE实现复杂的流程
KETTLE是一款将数据从来源端经过抽取(extract).转换(transform).加载(load)至目的端的非常好用的一款ETL工具.学会它,对于跨数据库的表处理或者定时生成文本,excel等常 ...
- 数据库Oracle日期函数
SYSDATE 函数:是一个日期函数,它返回当前数据库服务器的日期和时间. 用日期计算: • 从日期加或者减一个数,结果是一个日期值 • 两个日期相减,得到两个日期之间的天数 ,可以加小时到日期上 S ...
- jQuery中的基本选择器,id,class,元素,通用
常用的基本选择器: 后续的补充选择器 为了后面看的方便,我们先将body中的内容展示出来: <body> <p> 账号:<input type="text&qu ...
- 用.NET模拟天体运动
用.NET模拟天体运动 这将是一篇罕见而偏极客的文章. 我上大学时就见过一些模拟太阳系等天体运动的软件和网站,觉得非常酷炫,比如这个(http://www.astronoo.com/en/articl ...
- ARTS-S EN0002-London HIV patient's remission spurs hope for curing AIDS
原文 A stem-cell treatment put a London cancer patient's HIV into remission, marking the second such r ...
- iSensor APP 之 摄像头调试 OV5642 续集2
参考上一篇博客 作为续集,主要测试 RAW格式下的 不同分辨率效果 iSensor APP 之 摄像头调试 OV5642 直接上图吧 720p 拍照效果
- springboot中实现kafa指定offset消费
kafka消费过程难免会遇到需要重新消费的场景,例如我们消费到kafka数据之后需要进行存库操作,若某一时刻数据库down了,导致kafka消费的数据无法入库,为了弥补数据库down期间的数据损失,有 ...