django rest framework ViewSets & Routers

Using viewsets

views.py

from rest_framework import viewsets
from rest_framework import mixins
from rest_framework.pagination import PageNumberPagination

class MyPagination(PageNumberPagination):
    """分页"""
    page_size = 10
    page_size_query_param = "size"
    max_page_size = 50
    page_query_param = "page"

class DrugBidViewSets(viewsets.GenericViewSet,mixins.ListModelMixin):
    queryset = DrugBidModel.objects.all().order_by("id") # queryset = DrugBidModel.objects.all()
    serializer_class = DrugBidSerializers
    pagination_class = MyPagination

   

问题描述:UnorderedObjectListWarning: Pagination may yield inconsistent results with an unordered object_list

这个是因为django,查询出来多条记录时,默认是无序排列的,所以 每查询一次 分页的 list 都是不一样的,因此加一个排序

Using Router

urls.py

from rest_framework.routers import DefaultRouter

from drug import views

router = DefaultRouter()
router.register(r"drugbid",views.DrugBidViewSets)

urlpatterns = [
    path(‘‘, include(router.urls)),
]

  

原文地址:https://www.cnblogs.com/zenan/p/10516138.html

时间: 2024-10-29 09:57:01

django rest framework ViewSets & Routers的相关文章

Django REST框架--viewSets & Routers

教程6:ViewSets&Routers REST框架包括一个处理的抽象ViewSets,它允许开发人员集中精力对API的状态和交互进行建模,并根据常规约定使URL构造自动处理. ViewSet类是几乎同样的事情View类,但他们提供诸如操作read,或者update,而不是方法处理,如get或put. 一个ViewSet类只有在最后一刻被绑定到一组方法处理程序,当它被实例化成一组视图时,通常通过使用一个Router类来处理为你定义URL conf的复杂性. 重构使用ViewSets 我们来看看

利用 Django REST framework 编写 RESTful API

利用 Django REST framework 编写 RESTful API Updateat 2015/12/3: 增加 filter 最近在玩 Django,不得不说 rest_framework 真乃一大神器,可以轻易的甚至自动化的搞定很多事情,比如: 自动生成符合 RESTful 规范的 API 支持 OPTION.HEAD.POST.GET.PATCH.PUT.DELETE 根据 Content-Type 来动态的返回数据类型(如 text.json) 生成 browserable

Django rest framework 使用自定义认证方式

Django rest framework 使用自定义认证方式 Django使用自定义认证方式 介绍了 "Django使用自定义认证方式",这一篇说说怎样在前一篇的基础上提供rest api. 修改settings.py中INSTALLED_APPS,添加 'login' app. 给login app增加serializers.py文件 #coding:utf-8 from django.contrib.auth.models import User from rest_framew

Django——REST framework

1. 什么是REST REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为"表征状态转移" REST从资源的角度类审视整个网络,它将分布在网络中某个节点的资源通过URL进行标识,客户端应用通过URL来获取资源的表征,获得这些表征致使这些应用转变状态 REST与技术无关,代表的是一种软件架构风格,REST是Representational State Transfer的简称,中文翻译为"表征状态

Tutorial 6: ViewSets & Routers

转载自:http://www.django-rest-framework.org/tutorial/6-viewsets-and-routers/ Tutorial 6: ViewSets & Routers REST framework includes an abstraction for dealing with ViewSets, that allows the developer to concentrate on modeling the state and interactions

Django REST Framework 最佳实践

Django REST framework 是一个强大且灵活的工具包,用以构建Web APIs. 为什么要使用REST framework? - 在线可视的API,对于赢得你的开发者们十分有用 - 验证策略涵盖了OAuth1a和OAuth2 - 同时支持ORM和非ORM数据源的序列化 - 可以配置各个环节,若无需更多强大的特性,使用一般基于方法(function-based)的视图(views)即可 - 大量的文档,强力的社区支持 - 大公司如同Mozilla和Eventbrite,也是忠实的使

Django Rest Framework源码剖析(八)-----视图与路由

一.简介 django rest framework 给我们带来了很多组件,除了认证.权限.序列化...其中一个重要组件就是视图,一般视图是和路由配合使用,这种方式给我们提供了更灵活的使用方法,对于使用者而言不同的视图具有不同的功能,这样我们可以根据需求定制自己视图.以下是官网传送门:http://www.django-rest-framework.org/api-guide/views/ 在之前的文章中,由于参杂了权限.认证等(如果不了解请看博客的以前的文章),但在本章中基本可以不使用,所进使

DRF (Django REST framework) 框架介绍(2)

环境安装与配置 DRF需要以下依赖: Python (2.7, 3.2, 3.3, 3.4, 3.5, 3.6) Django (1.10, 1.11, 2.0) DRF是以Django扩展应用的方式提供的,所以我们可以直接利用已有的Django环境而无需从新创建.(若没有Django环境,需要先创建环境安装Django) 1. 安装DRF pip install djangorestframework 2. 添加rest_framework应用 我们利用在Django框架学习中创建的demo工

Django REST Framework 数码宝贝 - 3步进化 - 混合类 -->

读了我这篇博客, 你会刷新对面对对象的认知, 之前的面对对象都是LJ~~~ 表结构 class Publisher(models.Model): name = models.CharField(max_length=32) def __str__(self): return self.name class Author(models.Model): name = models.CharField(max_length=32) def __str__(self): return self.name