HyperlinkedIdentityField
1.简介
其实就是创建一个链接,把查询到对象放到链接上,点链接可以查看。实际上用的很少。
2.
views代码
查找的是一个对象的所有数据,link只是放在这个对象其中一个字段上的数据。
from django.shortcuts import render,HttpResponse,redirect,reverse
from django.http import JsonResponse
from app01 import models
from rest_framework.views import APIView
from app01 import MySer
# Create your views here.
class Book(APIView):
def get(self,request,*args,**kwargs):
books=models.Book.objects.all()
#这里的context={'request':request}传过去的request的变量是要拿到前面的链接,即ip或域名,不然无法生成新的链接
book_ser=MySer.BookSerializer(books,many=True,context={'request':request})
#返回的必须是book_ser.data
return JsonResponse(book_ser.data,safe=False)
class Publish(APIView):
def get(self,request,pk,*args,**kwargs):
publish=models.Publish.objects.filter(pk=pk).first()
publish_ser=MySer.PublishSerializer(publish,many=False)
return JsonResponse(publish_ser.data,safe=False)
自定义myser代码
lookup_field指的是根据哪个字段生成链接,lookup_url——kwarg指的是有名分组的分组名
from app01 import models
from rest_framework.serializers import Serializer, ModelSerializer
from rest_framework import serializers
from rest_framework.exceptions import ValidationError
class AuthorSerializer(serializers.Serializer):
name = serializers.CharField()
age = serializers.CharField()
class BookSerializer(serializers.Serializer):
name = serializers.CharField()
# view_name指的是配置的路由解析,lookup_field指的是查找的字段,lookup_url_kwarg指的是路由输入的有名分组
publish = serializers.HyperlinkedIdentityField(view_name='sss', lookup_field='publish_id',lookup_url_kwarg='pk')
class PublishSerializer(serializers.ModelSerializer):
class Meta:
model = models.Publish
fields = '__all__'
# class BookSerializer(serializers.ModelSerializer):
# class Meta:
# model = models.Book
# fields = '__all__'
#
# #这里设置的校验,是对方提交过来时的校验
# name = serializers.CharField(min_length=2, max_length=10,
# error_messages={'min_length': '最短为2', 'max_length': '最长为10', 'required': '这个必须填'})
HyperlinkedIdentityField的更多相关文章
- Django day26 HyperlinkedIdentityField,序列化组件的数据校验以及功能的(全局,局部)钩子函数,序列化组件的反序列化和保存
一:HyperlinkedIdentityField(用的很少):传三个参数:第一个路由名字,用来反向解析,第二个参数是要反向解析的参数值,第三个参数:有名分组的名字 -1 publish = ser ...
- django_restframework_angularjs
用Django Rest Framework和AngularJS开始你的项目 作者:Kevin Stone原帖:Getting Started with Django Rest Framework a ...
- REST_FRAMEWORK加深记忆-加了API_ROOT及超链接的CASE
urls.py from django.conf.urls import url from rest_framework.urlpatterns import format_suffix_patter ...
- 用Django Rest Framework和AngularJS开始你的项目
Reference: http://blog.csdn.net/seele52/article/details/14105445 译序:虽然本文号称是"hello world式的教程&quo ...
- Django编写RESTful API(五):添加超链接提高模型间的关联性
前言 在第四篇中,加入了用户模型,以及相关的认证和权限的功能.但是我们在使用的时候,会发现在访问http://127.0.0.1:8000/users/时看到的用户列表,不能够直接点击某个链接然后查看 ...
- Python之Django rest_Framework(2)
实例化: v1 = ["view.xxx.path.Role","view.xxx.path.Group",] 可以循环,循环出来的每一个不能实例化 如果把v1 ...
- Django rest framework(7)----分页
目录 Django rest framework(1)----认证 Django rest framework(2)----权限 Django rest framework(3)----节流 Djan ...
- Django rest framework(6)----序列化
目录 Django rest framework(1)----认证 Django rest framework(2)----权限 Django rest framework(3)----节流 Djan ...
- Rest_framework Serializer 序列化 (含源码浅解序列化过程)
目录 Rest_framework Serializer 序列化 序列化与反序列化中不得不说的感情纠葛 三角恋之 save/update/create 四角恋之 序列化参数instance/data/ ...
随机推荐
- C#WinForm应用程序中嵌入ECharts图表
C#WinForm应用程序中嵌入ECharts图表 程序运行效果: 下载ECharts: 官网下载ECharts :http://echarts.baidu.com/download.html 或者直 ...
- 9.25中间件和Django的学过的知识总结
2018-9-25 12:10:54 参考连接:http://www.cnblogs.com/liwenzhou/p/8761803.html 浏览器访问Django的过程 面试时容易问到 Dja ...
- day_5.14 py 飞机大战Demo
飞机未完,继续做 2018-5-14 21:05:45 明天继续 循环里面的坑; 删除列表元素后循环了打印的不一样,主要是比如相邻的删除了,33,44 删除33 循环一次后44跑到33位置 ...
- 比例尺与DEM空间分辨率
我国 4 种比例尺 DEM 及其空间分辨率的对应关系: 1:100 万 DEM -- 1000m 空间分辨率: 1:25 万 DEM -- 100m 空间分辨率: 1:5 万 DEM ...
- Maven本地库_remote.repositories文件
本地库中的包都有一个_remote.repositories文件,示例: #NOTE: This is an Aether internal implementation file, its form ...
- {MySQL的逻辑查询语句的执行顺序}一 SELECT语句关键字的定义顺序 二 SELECT语句关键字的执行顺序 三 准备表和数据 四 准备SQL逻辑查询测试语句 五 执行顺序分析
MySQL的逻辑查询语句的执行顺序 阅读目录 一 SELECT语句关键字的定义顺序 二 SELECT语句关键字的执行顺序 三 准备表和数据 四 准备SQL逻辑查询测试语句 五 执行顺序分析 一 SEL ...
- HDU 5954 - Do not pour out - [积分+二分][2016ACM/ICPC亚洲区沈阳站 Problem G]
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5954 Problem DescriptionYou have got a cylindrical cu ...
- tfidf_CountVectorizer 与 TfidfTransformer 保存和测试
做nlp的时候,如果用到tf-idf,sklearn中用CountVectorizer与TfidfTransformer两个类,下面对和两个类进行讲解 一.训练以及测试 CountVectorizer ...
- 2016年蓝桥杯省赛A组c++第9题(逆序串问题)
/* X星球的考古学家发现了一批古代留下来的密码. 这些密码是由A.B.C.D 四种植物的种子串成的序列. 仔细分析发现,这些密码串当初应该是前后对称的(也就是我们说的镜像串). 由于年代久远,其中许 ...
- ASMCMD报错解决:sh: /u01/app/11.2.4/grid/bin/clsecho: No such file or directory
sh: /u01/app/11.2.4/grid/bin/clsecho: No such file or directory 在登录asmcmd时报此错误,尝试解决,刷新oracle_sid也不行 ...