首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

DRFModelSerializer使用

ModelSerializer DRFserializers.Serializer所生成序列化器是最基本,它可以为数据库模型类定义,也可以为非数据库模型类数据定义。...一般而言,我们使用序列化器对应都是Django数据库模型类。DRF为我们提供了ModelSerializer来方便对应于一个models....fields = '__all__' # fields 指明为模型类哪些字段被序列化 在终端查看自动生成序列化器如下: >>> from apps.book.serializers...id是模型类默认生成主键,序列化器让其变成只读(只能序列化,不能反序列化);通过name字段,可以发现模型类verbose_name变成了序列化器label,max_length等对应不变;观察...readcount字段,会发现整形类型会被序列化器自动加上max_value和min_value限制;有默认值字段,会自动加上required=False来取消限制;而允许为空字段则会字段添加allow_null

42710

Django-DRF】多年md笔记第5篇:Django-DRFRequest、Response和视图详解

本文从分析现在流行前后端分离Web应用模式说起,然后介绍如何设计REST API,通过使用Django来实现一个REST API为例,明确后端开发REST API要做最核心工作,然后介绍Django...Django-DRF全套笔记直接地址: 请移步这里 共 5 章,24 子模块视图Django REST framwork 提供视图主要作用:控制序列化器执行(检验、保存、转换数据)控制数据库查询执行...data不能是复杂结构数据,如Django模型类对象,对于这样数据我们可以使用Serializer序列化器序列化处理后(转为了Python字典类型)再传递给data参数。...APIView与View不同之处在于:传入到视图方法是REST frameworkRequest对象,而不是DjangoHttpRequeset对象;视图方法可以返回REST framework...、patch、delete方法继承自:GenericAPIView、RetrieveModelMixin、UpdateModelMixin、DestoryModelMixin未完待续 下一期下一章Django-DRF

17410
您找到你想要的搜索结果了吗?
是的
没有找到

Django DRF路由与扩展功能实现

视图集与路由使用 使用视图集ViewSet,可以将一系列逻辑相关动作放到一个类: list() 提供一组数据 retrieve() 提供单个数据 create() 创建数据 update() 保存数据...书写两个同样http请求,会产生覆盖!!!...扩展功能 为了方便接下来学习,我们创建一个新子应用 opt python3 manage.py startapp opt 因为接下来功能需要使用到登录功能,所以我们使用django内置admin...使用方法: 在类视图中设置filter_backends,使用rest_framework.filters.OrderingFilter过滤器,REST framework会在请求查询字符串参数检查是否包含了...DRF路由与扩展功能实现文章就介绍到这了,更多相关Django DRF路由与扩展内容请搜索ZaLou.Cn

3K30

djangodrf_类方法可以序列化么

前言 上一篇文章我们讲述了序列化,这篇就带大家一起来实现以下序列化 Serializer 我们使用序列化类Serializer,我们来看下源码结构,这里推荐使用pycharm左边导航栏Structure...,可以清晰看到一个文件结构,如下图 我们会发现Serializer继承自BaseSerializer和SerializerMetaclass,但是Serializer类又没有create...方法和update方法,所以我们使用时候必须自己手动定义这2个方法 准备工作 1.新建一个项目drf_demo,在项目中新建一个appdrf_app,在app中新建一个文件urls.py,项目结构如下....在settings.py文件MIDDLEWARE中注释掉django.middleware.csrf.CsrfViewMiddleware,并在INSTALLED_APPS中加入2个app 'rest_framework...22周岁以上才能结婚"}) return attrs 我们上面代码首先定义了序列化字段,字段参数都继承自Field类,参数如下 def __init__(self, read_only

1.1K30

Django-DRF】md笔记第6篇:Django-DRF视图、认证、分页和其他功能详解

本文从分析现在流行前后端分离Web应用模式说起,然后介绍如何设计REST API,通过使用Django来实现一个REST API为例,明确后端开发REST API要做最核心工作,然后介绍Django...DRF全套笔记直接地址: 请移步这里 共 5 章,24 子模块视图Django REST framwork 提供视图主要作用:控制序列化器执行(检验、保存、转换数据)控制数据库查询执行视图集ViewSet...在执行视图dispatch()方法前,会先进行视图访问权限判断在通过get_object()具体对象时,会进行对象访问权限判断使用可以在配置文件设置默认权限管理类,如REST_FRAMEWORK...pip install django-filter在配置文件增加过滤后端设置:INSTALLED_APPS = [ ......使用方法:在类视图中设置filter_backends,使用rest_framework.filters.OrderingFilter过滤器,REST framework会在请求查询字符串参数检查是否包含了

19210

Djangosession使用

一、Session概念 cookie是在浏览器端保存键值对数据,而session是在服务器端保存键值对数据 session 使用依赖 cookie:在使用Session后,会在Cookie存储一个...二、DjangoSession存储 session键值对数据保存 ?...session键值对数据默认保存在django项目的一张数据库表(表名为:django_session),保存格式如下: ? 实际上是对数据有加密,如下图: ?...三、DjangoSession配置 Django默认支持Session,其内部提供了5种类型Session供开发者使用: - 数据库(默认) - 缓存 - 文件 - 缓存+数据库 - 加密cookie...] 清除所有session,在存储删除值部分 request.session.clear() 清除session数据,在存储删除session整条数据 request.session.flush

1.2K10

Django cookie使用

Cookie是浏览器在客户端留下一段记录,这段记录可以保留在内存或者硬盘上。因为Http请求是无状态,通过读取cookie记录,服务器或者客户端可以维持会话状态。...比如一个常见应用场景就是登录状态。Django里面,对cookie读取和设置很简单。...例2使用了fbv方式,用cbv也能实现 cbv里面,如果只打算装饰一个方法,那么直接在方法前面加个@method_decorator就行;如果打算装饰这个类里面所有的方法,那么在整个类最上面进行装饰...user_list.html  这里下了一个JQuery插件,这样读取设置cookie比较容易;而且,我们还限制了cookie使用范围,不是默认所有范围,而是仅仅局限于/user_list这个路径里面...,要么自己做,要么网上下载或使用我博客,把时间用在更多地方,少做重复劳动事情】/.active{ background-color: brown; color: white; }

1.6K10

Power Pivot筛选条件使用

(一) 定义 在Power Pivot,在大部分时间里,筛选是作为一个主要功能运用到各个地方,筛选上下文,行上下文都和筛选相关。 (二) 可能涉及函数 Filter 含义:根据条件筛选。...All 含义:忽略指定维度条件。 AllExpect 含义:忽略除保留维度外其他条件。 Calculate 含义:根据条件进行计算。大部分筛选器最终需要与本函数进行组合运算。...,filter('表'="张三")) 我们先来看下几个计算差异(数据透视表): 行标签 固定条件求和 筛选条件求和 忽略条件求和 忽略多条件求和 李四 100 100 王五 100 100 张三...涉及上下文 忽略条件求和 在筛选时忽略字段筛选如果全部忽略相当于不涉及上下文,也就和固定条件求和一样 ---- 忽略多条件求和,因为calculate本身不存在绝对筛选,所以条件all不产生作用,所以函数...在使用忽略函数时候,要根据被筛选filter里面的实际筛选条件来定义,所以忽略学科和忽略学科除外都是错误。因为filter函数内部没有进行学科实际筛选。也就不存在忽略问题。 (四)总结 ?

4.6K20

DRF框架英文单词

DRF框架英文单词 1. prefix/'prifɪks/前缀,我们在路由配置时候经常看见这个单词。在flask,我们可以在设置url时候为了区别视图,在类似功能url全部加一个前缀。...应该是美国人发明吧,毕竟美国计算机发展相当棒。序列化这个定义很很重要,给大家强调一下:在Django,我们可以简单理解为将模型类对象转化成字典或字符串这个过程。...=[about_django]) 上面的about_Django是我们定义补充验证函数名。...Authentication/ɔ,θɛntɪ'keʃən/认证,我们DRF框架高级功能之一。 34. Permissions/pə:'miʃənz/权限,我们DRF框架高级功能之一。 35....Throttling/'θrɔtliŋ/限流,我们DRF框架高级功能之一。 36. Pagination/,pædʒɪ'neʃən/分页,我们DRF框架高级功能之一。 37.

1.7K30

DjangoAutoField字段使用

Django是一个机智框架】 默认情况下Djang会为ORM定义每一张表加上一个自增ID列,并且用这个列来做主键;出于一个MySQL-DBA工作经历我觉得 Djanog还真是机智;这样么说主要是因为我遇到过许多主从延时问题...如果当前网站用Django开发,我想就不会有这种事情发生了吧。...补充知识:Djangomodels下常用Field以及字段参数 一、常见FieldType数据库字段类型 1、AutoField:自增Field域,自动增加一个数据库字段类型,例如id字段就可以使用该数据类型...,默认为True,db_constraint一般使用在建立数据表连接关系当中(例如创建外键),如果使用False,则是限制了表之间没有关联,达到了软连接效果 五、元信息 ORM对应类里面包含另一个Meta...https://docs.djangoproject.com/en/dev/ref/models/fields/ 以上这篇DjangoAutoField字段使用就是小编分享给大家全部内容了,希望能给大家一个参考

6.3K20

django优雅实现软删除,支持Admin和DRF软删除

何为软删除 当你想对数据进行删除时候,如果使用物理删除,那么数据真的消失了。使用软删除,可以让数据保留,但是不会被真的删除。只是在字段上设置了一个值,表示数据已经被删除。...简而言之: drf找不到删除数据,admin需要全部数据 drf和admin删除数据都是软删除 解决方案 DRF Django Manager 赋予了 Django模型(Model)操作数据库能力...其实你在项目中无时不刻不在使用Manager,还记得objects吗?也就是如:Book.objects.all()objects。有没有想过它到底是什么?...使用DRF操作删除实际上调用是mixins.DestroyModelMixindestroy方法,具体执行删除方法是perform_destroy。...即: drf找不到删除数据 drf执行删除是软删除 Admin 首先再刚刚代码基础上,我们启用Admin,进入后台看看效果。

2K40

Python Descriptor 在 Django 使用

这篇通过Django源码cached_property来看下Python中一个很重要概念——Descriptor(描述器)使用。想必通过实际代码来看能让人对其用法更有体会。...Descriptor是Python定义一个协议,协议内容是只要你定义这个类(对象)具有: __get__, __set__, __delete__ 方法任意一个你这个类(对象)就叫做Descriptor...下面来看下这个Descriptor在Django是怎么被使用。...Djangocached_property 在Django项目的utils/functional.py这么一个类:cached_property。从名字上可以看出,它作用是属性缓存。...除了装饰器可能有疑惑,其他都比较好理解。 cached_property代码 理解了上面的例子在来看Django这个cached_property代码就容易多了。

4.3K20

使用 Django 显示表数据

1、问题背景当我们使用 Django 进行 Web 开发时,经常需要在 Web 页面上显示数据库数据。例如,我们可能需要在一个页面上显示所有用户信息,或者在一个页面上显示所有文章标题和作者。...那么,如何使用 Django 来显示表数据呢?2、解决方案为了使用 Django 显示表数据,我们需要完成以下几个步骤:在 models.py 文件定义数据模型。...数据模型是 Django 用于表示数据库数据类。...例如,如果我们想显示所有用户信息,那么我们可以在 models.py 文件定义如下数据模型:from django.db import modelsclass User(models.Model):...例如,如果我们想在一个页面上显示所有用户信息,那么我们可以在 views.py 文件定义如下视图函数:from django.shortcuts import renderdef users(request

3810
领券