昨日回顾:

    1. Serializer(序列化)
1. ORM对应的query_set和ORM对象转换成JSON格式的数据
1. 在序列化类中定义自定义的字段:SerializerMethodField
在类中定义 get_自定义字段名(self, obj)方法
2. read_only 只在显示(查询)时才会有效。 2. 对前端POST过来的数据做有效性的校验
1. 一定要将数据以data=的形式传递到序列化类中!!!
ser_obj = CommentSerializer(data=comment_data)
2. 判断数据是否有效
ser_obj.is_valid():
ser_obj.validated_data 中保存经过校验的有效数据 3. 局部钩子
定义一个validate_字段名(self, value)
4. 全局钩子
定义一个validate方法 3. .save()方法将符合要求的数据存入数据库
1. 本质上还是调用ORM的create()方法
类名.objects.create(**ser_obj.validated_data) 2. 超链接的序列化
1. 超连接字段的三个参数
# 文章超链接序列化
class ArticleHyperLinkedSerializer(serializers.HyperlinkedModelSerializer):
# view_name参数 默认使用 表名-detail
# lookup_url_kwarg参数 默认使用pk,指的是反向生成URL的时候 路由中的分组命名匹配的key
# lookup_field参数 默认使用的pk, 指的是反向生成URL的时候, 路由中分组命名匹配的value
school = serializers.HyperlinkedIdentityField(
view_name='school-detail111',
lookup_url_kwarg='name',
lookup_field='school_name'
)
2. 想要生成完整的超链接API,在序列化的时候还要传入 context={'request': request}
ser_obj = app01_serializers.ArticleHyperLinkedSerializer(all_article, many=True, context={'request': request})
1. 想要生成相对路径
context={'request': None}

今日内容:

1. 面向对象的三大特性
        1. 封装
            1. 把共有的数据当成一类物体的属性
            2. 把共有的功能当成一类物体的方法
            
        2. 继承
            1. 把共有的属性或方法抽离出来放到一个基类(父类)中
        3. 多态
            1. 不同的物体调用同一个方法有不同的效果
                Python中数字的+和字符串的+
    2. 葫芦娃的故事
        五个娃
           ↓
        奇数娃和偶数娃
           ↓
         套娃
    3. GenericAPIView和五个混合类的组合使用
    
    4. RetrieveUpdateDestroyAPIView和ListCreateAPIView的使用
    
    5. ModelViewSet的使用
    
    6. ModelViewSet Router的使用

最新文章

  1. Android消息处理机制(Handler、Looper、MessageQueue与Message)
  2. 李洪强iOS经典面试题142-第三方框架及其管理
  3. c++学习--继承与派生
  4. iOS学习笔记——iOS高级控件
  5. Linux Shell Demo
  6. 高效的使用Response.Redirect解决一些不必要的问题(转载)
  7. 文本编辑器vim
  8. Web Service无法加载协定为“ServiceReference1.xxxxxx”的终结点配置部分,因为找到了该协定的多个终结点配置。请按名称指示首选的终结点配置部分
  9. ios8,xcode6 周边
  10. oracle常用SQL语句(汇总版)
  11. sql(SqlServer)编程基本语法
  12. 修改Servlet模板
  13. C#格式化成小数
  14. 关于AJAX+HTML5+ASHX进行全静态页面的数据交互
  15. Struts2如何实现MVC,与Spring MVC有什么不同?
  16. git取消跟踪已版本控制的文件
  17. php 文件系统函数及目录函数
  18. Jetbrain系列软件配置文件同步
  19. ORTP编译为静态库的问题
  20. myeclipse10.X以上的破解方法

热门文章

  1. NIPS2016 best paper: Value Iteration Networks 解析
  2. 更新mac系统和更新到Xcode7.3版本出现的: cannot create __weak reference in file using manual reference counting
  3. Laravel5.1 模型--ModelFactory
  4. eclipse4.2+安装modelgoon插件,该插件支持在eclipse直接依据java文件生产类图
  5. codevs1058 合唱队形==洛谷P1091 合唱队形
  6. 关东升的《从零开始学Swift》即将出版
  7. Hints of sd0061(快排思想)
  8. 详解Amazon S3上传/下载数据
  9. angularjs 遇见$scope,xxx=function()报错为该函数未定义
  10. hadoop报错java.io.IOException: Bad connect ack with firstBadLink as 192.168.1.218:50010