前端于对数据操作的请求基本上就分为四类:增删改查,即增加.删除.修改.查询. 而DRF把前端请求分为两个大类:带ID参数请求和不带ID参数请求. 不带ID参数请求包括:增加.分布多条查询 带ID参数请求包括:删除.修改.单条查询 DRF针对这五类需求,分别提供了五个扩展类来支持,叫Mixin扩展类. GenericAPIView继承自APIView,主要增加了操作序列化器和数据查询的方法.作用是为Mixin扩展类执行提供方法支持.通常在使用时,可搭配一个或多个Mixin扩展类. 找到并打开App…
之前学习了模型序列化和普通序列化,我们用最简单的视图和url实现了对序列化的操作. 而实际上,象之前那种由DRF自动生成所有的视图和url的情况,在应用是使用很少.而需要用户根据实际业务需求,自定义视图和url. DRF提供了丰富的视图类,可以满足程序员的各种需求,基本上一个需求可以用多种视图来满足. 1 导入包 找到Applications/Exampls/views下的Schools.py文件,先导入以下包: from rest_framework.views import APIView…
上一节介绍了DRF开发的基本流程,共五个步骤: 1 创建模型 2 创建序列化器 3 编写视图 4 配置URL 5 运行测试 本节主要讲解创建模型. 构建学校,教师,学生三个模型,这三个模型之间的关系是:学校和教师是一对多的关系,教师和学生是多对多的关系.为了更直观的体现多对多的关系,把一个多对多,转化为两个一对多.需要另外创建一个教师学生模型,用于标注教师和学生的对应关系. 因此,本节主要构建四个模型.全部存在Applications/Examples/models.py文件中. 在Django…
序列化器:是指从数据库提取数据,转化前端所需要的数据格式并返回到前端. 反序列化器:是指把前端传回的数据,转换成数据库需要的格式,存入数据库. DRF提供了两种序列化器: 模型序列化器:是指和模型关联的序列化器,需要引入模型来定义序列化器. 普通序列化器:是指和模型无关的序列化器,和模型无关,只是一个序列化器. 本节主要介绍模型序列化器 1 创建模型序列化器 在Applications/Examples/views下创建文件,名为:Schools.py from rest_framework i…
1 创建模型 由于之前在<004 工程配置>中,已在Applications/Organizations/models中创建了一个UserInfo模型.此处引用这个模型. from django.db import models from django.contrib.auth.models import AbstractUser from GeneralTools.BaseModel import BaseModel class UserInfo(AbstractUser, BaseMode…
1 常用字段类型 字段 构造方式 BooleanField BooleanField() NullBooleanField NullBooleanField() CharField CharField(max_length=None, min_length=None, allow_blank=False, trim_whitespace=True) EmailField EmailField(max_length=None, min_length=None, allow_blank=False)…
普通序列化器和模型无关,只是对针对提交字段的定义. 本文定义三个序列化器: 教师序列化器,学生序列化器,教师学生序列化器.这三个序列化器都使用普通序列化器. 1 教师序列化器 在Applications/Examples/views下创建一个Teachaer.py文件. from rest_framework import serializers from Applications.Examples.models import Teachers from rest_framework.views…
基于SSH框架开发的<高校大学生选课系统>的质量属性的实现 对于可用性采取的是错误预防战术,即阻止错误演变为故障:在本系统主要体现在以下两个方面:(1)对于学生登录模块,由于初次登陆,学生可能不知道自己的用户名和密码,此时可以在界面中显示一个温馨提示,从而告知学生其首测登录系统的用户名和密码都为其学号,而防止学生在不知情的情况下根据自己的思维方式屡屡输入用户名和密码却屡屡收到系统给出的错误提示,无法进入系统进行相关的操作,而由于多次输入错误而导致系统故障:当然在登陆界面中,点击“忘记密码”超链…
1 MapReduce编程 1.1 MapReduce简介 MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算,用于解决海量数据的计算问题. MapReduce分成了两个部分: 1.映射(Mapping)对集合里的每个目标应用同一个操作.即,如果你想把表单里每个单元格乘以二,那么把这个函数单独地应用在每个单元格上的操作就属于mapping. 2.化简(Reducing)遍历集合中的元素来返回一个综合的结果.即,输出表单里一列数字的和这个任务属于reducing. 你向Ma…
0905自我总结 drf框架serializers中ModelSerializer类 基于seriallizer类进行简化 https://www.cnblogs.com/pythonywy/p/11455508.html 一.简单的使用 导入from rest_framework import serializers 与基础serializer类后续使用的作用相似 class 自定义名称(serializers.ModelSerializer): class Meta: model=对应的模型…