Django笔记 Django REST framework的Serializer 2
2016-04-21 17:10
351 查看
Serializer的几种设置
隐藏特定字段
如下,设置 writer 为只读就可以隐藏。class ArticleSerializer(serializers.ModelSerializer): + writer = serializers.IntegerField(write_only=True) class Meta: model = Article
$ curl http://localhost:8000/api/articles/3.json
{“id”:3,”title”:”hoge”,”contents”:”fuga”}
writer消失不见了。
外键不是key值,显示具体信息
class ArticleSerializer(serializers.ModelSerializer): + writer = WriterSerializer() class Meta: model = Article
将writer字段设为WriterSerializer
$ curl http://localhost:8000/api/articles/3.json
{“id”:3,”writer”:{“id”:1,”name”:”racchai”},”title”:”hoge”,”contents”:”fuga”}
就可以显示具体的信息
同时生成外键数据时
ArticleSerializer如下class ArticleSerializer(serializers.ModelSerializer): writer = WriterSerializer() class Meta: model = Article + def create(self, validated_data): + writer = Writer(**validated_data.pop('writer')) + writer.save() + return super(ArticleSerializer, self).create(dict(validated_data, **{'writer': writer}))
在默认的 create 前生成Writer数据。
测试为
$ curl http://localhost:8000/api/articles.json -X POST -d “{\”writer\”:{\”name\”:\”new writer\”},\”title\”:\”aaa\”,\”contents\”:\”bbb\”}” -H “Content-Type: application/json” │
{“id”:4,”writer”:{“id”:2,”name”:”new writer”},”title”:”aaa”,”contents”:”bbb”}
就可以登录了。
测试一下。
$ curl http://localhost:8888/api/articles/4.json
{“id”:4,”writer”:{“id”:2,”name”:”new writer”},”title”:”aaa”,”contents”:”bbb”}
相关文章推荐
- 解析Silverlight调用WCF/Rest异常的解决方法
- 插件管理框架 for Delphi(一)
- 使用CSS框架布局的缺点和优点小结
- 一起动手编写Android图片加载框架
- 基于.NET平台常用的框架和开源程序整理
- 列举PHP的Yii 2框架的开发优势
- Windows窗体的.Net框架绘图技术实现方法
- 浅谈JavaScript 框架分类
- 轻量级javascript 框架Backbone使用指南
- javascript实现框架高度随内容改变的方法
- JS刷新框架外页面七种实现代码
- 超赞的动手创建JavaScript框架的详细教程
- 深入探讨前端框架react
- 简单介绍不用库(框架)自己写ajax
- 利用ASP.NET MVC+EasyUI+SqlServer搭建企业开发框架
- asp.net4.0框架下验证机制失效的原因及处理办法
- 插件管理框架 for Delphi(二)
- django中使用jquery ajax post数据出现403错误的解决办法(两种方法)
- django使用ajax post数据出现403错误如何解决
- 零基础学习AJAX之AJAX框架