ModelSerializer

Day66 ModelSerializer 和 Mixin的使用免费看

使用serializers.ModelSerializer、使用mixins.ListModelMixin、使用generics.ListAPIView简化AllSchoolsView

09-13侠课岛    基础入门       

后端/后端/Python 由浅入深入门 14     0     208

总结

1.使用serializers.ModelSerializer

  • 使用Django中的serializers.ModelSerializer替换serializers.Serializer,也就是让schools app中SchoolSerializer类继承serializers.ModelSerializer, 可以让代码更加简洁,能够指定需要序列化的Model,和Model中的字段,或者使用__all__序列化所有的字段;

2.使用mixins.ListModelMixin

  • mixins可以实现功能增强,DRF库中有很多功能增强的mixin;

  • ListModelMixin:列表视图扩展类,提供list(request, *args, **kwargs)方法快速实现列表视图,返回200状态码,该Mixin的list方法会对数据进行过滤和分页;

  • GenericAPIView:继承自APIVIew,增加了对于列表视图和详情视图可能用到的通用支持方法,queryset为列表视图的查询集,serializer_class为视图使用的序列化器;

3.使用generics.ListAPIView简化AllSchoolsView

  • 让AllSchoolsView继承generics.ListAPIView类,可以简化代码,ListAPIView类本身继承了mixins.ListModelMixin类和GenericAPIView类,且提供get方法处理程序;

  • rest_framework库下的generics.py中有很多封装好的View,这些View有一个规律,就是Create表示添加、Retrieve表示操作一条数据、List表示操作多条数据、Destroy表示删除、Update表示更新;

4.generics.py中几个常用的View

  • ListCreateAPIView:用于post提交之后添加多条数据;

  • RetrieveAPIView:用于返回一条数据;

  • ListAPIView:用于返回一个表的数据,或多条数据;

  • CreateAPIView:添加一条数据;

本教程图文或视频等内容版权归侠课岛所有,任何机构、媒体、网站或个人未经本网协议授权不得转载、转贴或以其他方式复制发布或发表。

评价

14

本课评分:
  •     非常好
难易程度:
  •     适中的

内容目录



|
教程
粉丝
主页

签到有礼

已签到2天,连续签到7天即可领取7天全站VIP

  • 1
    +2 金币
  • 2
    +3 金币
  • 3
    +5 金币
  • 6
    +7 金币
  • 5
    +6 金币
  • 4
    暖心福利
    自选分类VIP ×1天
  • 7
    惊喜大礼

    自选分类VIP ×3天 +20金币
  • 持续签到 +8 金币

金币可以用来做什么?