首页
学习
活动
专区
圈层
工具
发布

【愚公系列】2022年01月 Python教学课程 40-Django框架之模型属性详解

2) 关于主键 django会为表创建自动增长的主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后django不会再创建自动增长的主键列。...默认创建的主键列属性为id,可以使用pk代替,pk全拼为primary key。 3) 属性命名限制 不能是python的保留关键字。 不允许使用连续的下划线,这是由django的查询方式决定的。...定义属性时需要指定字段类型,通过字段类型的参数指定选项,语法如下: 属性=models.字段类型(选项) 4)字段类型 类型 说明 AutoField 自动增长的IntegerField,通常不用指定,...不指定时Django会自动创建属性名为id的自动增长属性 BooleanField 布尔字段,值为True或False NullBooleanField 支持Null、True、False三种值 CharField...参数auto_now_add表示当对象第一次被创建时自动设置当前时间,用于创建的时间戳,它总是使用当前日期,默认为False; 参数auto_now_add和auto_now是相互排斥的,组合将会发生错误

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

    第 3 篇:实现博客首页文章列表 API

    开发的异同时说过,django-rest-framework 开发和传统的开发方式没有什么不同,区别仅在于返回的数据格式不同而已。...400:表示客户端请求错误。...401:没有提供身份认证信息 403:没有操作权限 404 :访问的资源不存在 405:不支持的 HTTP 请求方法 500:服务器内部错误 HTTP 请求和响应过程,django-rest-framework...和表单类似,django-rest-framework 的序列化器也可以根据关联的模型,自动检测被序列化模型各个属性的数据类型,推测需要使用的序列化字段,无需我们显示定义。...,django-rest-framework 就会根据各个属性的数据类型,自动推测需要使用的系列化字段,从而生成标准的序列化器。

    1.5K20

    Django Rest Framewor

    区别与其他架构风格的最本质属性 对于REST这种面向资源的架构风格,有人提出一种全新的结构理念,即:面向资源架构(ROA:Resource Oriented Architecture) RESTful...400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。...401 Unauthorized - [*]:表示用户没有权限(令牌、用户名、密码错误)。 403 Forbidden - [*] 表示用户得到授权(与401错误相对),但是访问是被禁止的。...404 NOT FOUND - [*]:用户发出的请求针对的是不存在的记录,服务器没有进行操作,该操作是幂等的。...Rest Framework框架的基本实现   url.py: from django.conf.urls import url, include from web.views.s1_api import

    1.6K20

    RESTful API

    区别与其他架构风格的最本质属性 对于REST这种面向资源的架构风格,有人提出一种全新的结构理念,即:面向资源架构(ROA:Resource Oriented Architecture) 对互联网上的任意东西都视为资源...400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。...401 Unauthorized - [*]:表示用户没有权限(令牌、用户名、密码错误)。 403 Forbidden - [*] 表示用户得到授权(与401错误相对),但是访问是被禁止的。...下面我们来看看基于Django Rest Framework框架实现 五、基于Django Rest Framework框架实现 1、自定义认证规则 详见链接 class MyAuthtication...遇到这个错误就是因为没有在settins中注册rest_framework.

    1.9K20

    DRF框架学习(四)

    DRF框架学习(四) 1.视图集对象的action属性 作用: 获取现在要执行的是哪一种操作。 self.action:是字符串类型,目的是获取所有执行的操作。...', # 基本认证 ) } 也可以在每个视图中通过设置authentication_classess属性来设置视图的认证方案: from rest_framework.authentication...6.1 使用 DRF框架默认没有进行全局限流设置,但是提供了配置项,我们可以在配置文件中,使用 DEFAULT_THROTTLE_CLASSES 和 DEFAULT_THROTTLE_RATES进行全局配置...也可以在具体视图中通过throttle_classess属性来配置,如 from rest_framework.throttling import UserRateThrottle from rest_framework.views...'django_filters', # 需要注册应用, ] # 过滤 REST_FRAMEWORK = { 'DEFAULT_FILTER_BACKENDS': ('django_filters.rest_framework.DjangoFilterBackend

    3.3K40

    python教程

    以Django提供表单(Form)类和模型表单(ModelForm)类相同的方式,REST 框架包括了实例化(Serializer)类和模型实例化(ModelSerializer)类。...用我们的序列化来写常规的Django视图 让我们看看,使用我们新的序列化类,我们怎么写一些API视图。此刻,我们不会使用REST框架的其他特性,仅仅像写常规Django视图一样。...如果我们发送不正确的json数据,或者如果我们制造了一个视图没有写处理的方法(method),那么我们会得到500“服务器错误”的响应。当然,现在也会出现这个问题。...source参数控制哪个属性被用于构成一个字段,并且能够指出序列实例的任何属性。它也能像上面一样使用点标记(.),这种情况下他会横贯给定的属性,就是我们使用Django模板语言一样。...如果我们在没有授权的情况下创建一个snippet,那么我们会得到下面的错误: http POST http://127.0.0.1:8000/snippets/ code="print 123" {

    5.8K10

    DjangoRestFramework,restful规范、APIview、解析器组件、Postman等

    一 预备知识   预备知识:django的CBV和FBV     CBV(class based view):多用,简单回顾一下     FBV(function based view):   CBV模式的简单操作...URL进行标识,客户端应用通过URL来获取资源的表征,获得这些表征致使这些应用转变状态     所有的数据,不过是通过网络获取的还是操作(增删改查)的数据,都是资源,将一切数据视为资源是REST区别与其他架构风格的最本质属性...401 Unauthorized - [*]:表示用户没有权限(令牌、用户名、密码错误)。 403 Forbidden - [*] 表示用户得到授权(与401错误相对),但是访问是被禁止的。...HATEOAS 的格式没有统一规定,上面例子中,GitHub 将它们与其他属性放在一起。更好的做法应该是,将相关链接与其他属性分开。...但是django没有内置的自动解开json数据类型的方法,那么只能去request.body里面拿原始的bytes类型的数据,然后自己解,其实很简单,但是django没有,可能是早先没有考虑到。

    2.9K20

    构建强大的API-Django中的REST框架探究与实践

    本文将深入探讨Django中REST框架的使用,并通过代码实例和解析来展示其强大之处。1. 什么是REST框架?...数据验证与错误处理在API开发中,数据验证和错误处理是至关重要的部分。Django REST框架提供了强大的数据验证机制和错误处理功能,让我们能够轻松地处理各种情况。...Django REST框架提供了丰富的错误处理机制,包括内置的异常类以及自定义异常处理器。...Django REST框架提供了丰富的工具和功能,可以帮助我们定制化API响应和错误处理。...错误处理在API开发中,处理错误是非常重要的,它可以帮助我们及时发现问题并向用户提供友好的错误信息。Django REST框架提供了丰富的错误处理功能,包括内置的异常类、自定义异常处理器等。

    1.7K20

    django-rest-framework配置json web token进行接口的认证

    使用django-rest-framework开发api并使用json web token进行身份验证 在这里使用django-rest-framework-jwt这个库来帮助我们简单的使用jwt进行身份验证...并解决一些前后端分离而产生的跨域问题 流程 安装 安装django-rest-framework 现在接口一般都是restful风格,所以我们直接使用这个框架 在终端输入以下命令安装 pip install...'rest_framework', 'rest_framework.authtoken', # 设置token ... ] 安装django-rest-framework-jwt 安装...REST框架DEFAULT_AUTHENTICATION_CLASSES # django-rest-framework设置 REST_FRAMEWORK = { 'PAGE_SIZE':...所以在开发阶段,我们先应不让jwt拦截所有请求,这样对我们测试产生诸多不变 注: 上述环境在ubuntu16.04 lts django1.9中搭建测试成功 上述文字皆为个人看法,如有错误或建议请及时联系我

    1.5K10

    Django+Vue开发生鲜电商平台之8.商品详情页功能实现

    可以看到,在商品详情页右侧有热卖商品,这要用到商品的is_hot字段,在过滤器中对is_hot字段进行过滤即可,apps/goods/filters.py如下: class GoodsFilter(django_filters.rest_framework.FilterSet...再在apps/user_operation/views.py中实现视图: from django.shortcuts import render from rest_framework import viewsets...可以看到,当已经存在收藏时再重复添加,就会返回non_field_errors错误,是在两个及以上字段联合验证失败时返回错误信息的关键字段,前端在接收后可以进行相应处理。...= { 'DEFAULT_FILTER_BACKENDS': ['django_filters.rest_framework.DjangoFilterBackend'], 'DEFAULT_AUTHENTICATION_CLASSES...= { 'DEFAULT_FILTER_BACKENDS': ['django_filters.rest_framework.DjangoFilterBackend'], 'DEFAULT_AUTHENTICATION_CLASSES

    1.3K20

    Python进阶39-drf框架(一)

    的简称,中文翻译为“表征状态转移” 4.所有的数据,不过是通过网络获取的还是操作(增删改查)的数据,都是资源,将一切数据视为资源是REST区别与其他架构风格的最本质属性 5.对于REST这种面向资源的架构风格...400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作,该操作是幂等的。...401 Unauthorized - [*]:表示用户没有权限(令牌、用户名、密码错误)。 403 Forbidden - [*] 表示用户得到授权(与401错误相对),但是访问是被禁止的。...404 NOT FOUND - [*]:用户发出的请求针对的是不存在的记录,服务器没有进行操作,该操作是幂等的。..._request = request 将原生request作为新request的_request属性 # 在rest_framework.request.Request的__getattr__方法中

    4.5K30

    Django-REST-framework 权限管理源码分析

    None) ) 和用户认证一样,同样遍历一个权限类对象列表,并且调用该列表中元素的has_permission()方法,该方法返回布尔值,True代表有权限,False代表没有权限...def get_permissions(self): return [permission() for permission in self.permission_classes] 如果没有权限...的认证框架(authentication_classes数组不为空)并且身份认证失败,就抛出NotAuthenticated异常,否则会抛出PermissionDenied异常 class NotAuthenticated...default_code = 'permission_denied' 而PermissionDenied会返回错误403(拒绝授权访问) 在向permission_denied()类传递参数时,使用了反射...import HttpResponse from django.http import JsonResponse from rest_framework.views import APIView from

    82410
    领券