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/ ...
随机推荐
- Linux设备驱动剖析之IIC(三)
下面以eeprom用户程序调用ioctl函数的写操作为例追踪IIC子系统的调用过程.eeprom的用户测试是大部分开发板都自带的.看写一个字节数据的eeprom_write_byte函数的定义: in ...
- 安卓手机优化 ROOT自启动管理 + 电量管理
一.KingRoot + 净化大师 KingRoot 主要完成ROOT 和 自启动软件的管理 这里禁止的自启动管理 对于有些软件是不太管用 比如美团 手机百度等 净化大师 主要完成 高电量的软件优化 ...
- [原]openstack-kilo--issue(二十二) 虚拟机的vnc console图像调用错误
[问题点] 在打开node compute 上vm的vnc console窗口时候发现vm1-compute1调用的是vm1-controller上的vnc图像 =================== ...
- c++中map按key和value排序
``` #include<iostream> #include<algorithm> #include<vector> #include<map> #i ...
- python 利用tkinter模块设计出window窗口(搞笑版)
代码如下 from tkinter import * import tkinter from tkinter import messagebox #定义了一个函数,当关闭window窗口时将会弹出一个 ...
- C语言指针赋值前的指向问题
以下代码运行会得到什么结果? #include<stdio.h> int main() { int *k;//定义一个指针变量 *k=100;#给指针变量所指的内存赋值 printf(&q ...
- ros查看摄像头是否打开正常
使用rqt_image_view命令,查看摄像头是否正常输出图像
- vins-mono调试教程
https://www.cnblogs.com/Jessica-jie/p/6950604.html
- mysql索引及sql执行顺序
1, 红黑树 同一层级的黑树到根结点经历的黑树数目一样 最坏情况的时间复杂度 lg n 是二叉树b树 结点可以有多个孩子 b+树 父节点不存储数据聚集索引)的叶子节点会存储数据行,也就是说数据和索引是 ...
- [No0000D6]端口-进程查询.bat
@echo off color a Title XP端口-进程查询 setlocal enabledelayedexpansion echo ╔- -╗ echo 本机开放的端口及使用该端口的进程 e ...