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

python测试开发django-rest-framework-91.ChoiceField选项字段校验

前言 当我们需要校验选项字段的时候,需用到 ChoiceField 来校验 选项 在 model 模型里面有个字段选项字段, goods_status 可以有2种状态,0是下架,1是出售中,默认 class...Original exception was: Traceback (most recent call last): File "E:\python36\lib\site-packages\rest_framework...ChoiceField 选项字段 ChoiceField 专门用来处理有choices选项的问题,处理起来更高级一点,比如数据库里面有多种状态,但是状态2不希望用户去操作,只让用户添加0和1两种状态...实现效果跟上面的一样,功能多了一个限制,只能传数字 0 和 1 两种状态,返回的时候显示状态名称 重写 ChoiceField 如果我们在添加的时候,既可以添加 0 和 1 这 2 个状态,也可以提交...self.fail('invalid_choice', input=data) 关于choicefield 相关的用法可以参考https://stackoverflow.com/questions/28945327/django-rest-framework-with-choicefield

1.4K20

Django+Vue开发生鲜电商平台之5.使用DRF实现商品列表页和过滤

但是从代码中可以看到: 通过在新建列表、其元素为单个商品信息组成的字典,一个一个地添加,显得很麻烦,可进行改进; 有些字段不能直接用json.dumps()方法序列化,如datetime,会报错,如商品列表视图修改为如下时...Django中有Form,也有ModelForm,DRF中也有ModelSerializer,相比于Serializer,它省去了模型所有字段添加和处理数据方法的实现,serializers.py简化如下...等,即字段过滤、搜索、排序3种方式。...过滤的使用 通过django-filters的DjangoFilterBackend类实现字段过滤。...此时,可以根据字段进行过滤,但是只能精确比配,对于字符串型字段不能模糊匹配,对于数值型字段也不能匹配区间,因此需要自定义filters,新建filters.py如下: import django_filters

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

测试开发进阶(二十五)

格式的数据,其他类型不支持 列表页视图没有分页,过滤,排序功能 Django REST framework 在Django框架基础上,进行二次开发 用于构建Restful API 简称为DRF框架或REST...,分页,搜索,限流等功能 可扩展性,插件丰富 安装 $ pip install djangorestframework 配置 LearnDjango/settings.py中添加 'rest_framework...', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework...逐步优化之前的代码 之前「快速创建实例」部分为演示最终效果,现在先恢复到原有状态 创建序列化 创建 projects/serializer.py 需要输出哪些字段,那么在序列化器中就定义哪些字段 from...): """ 创建项目序列化器类 """ # label选项相当于verbose_name # help_text相当于帮助信息 # id = serializers.IntegerField

79230

Vue+Django2.0 REST framework 打造前后端分离的生鲜电商项目(五)商品列表页

在views_base中,我被 JsonResponse,HttpResponse这两个模块之间的有什么不同所引起好奇心,都是返回字符串,一个可以返回json,而另一个需要添加一些设置才能返回json。...3 django-filter(1.0.1+) - 过滤支持。 4 django-crispy-forms - 改进了用于过滤的HTML显示。...name字段(昵称),而drf在找的是AbstractUser的username字段(用户名),没找到所以报错 解决方法:将UserProfile表中的__str__方法改成返回username: 1...5.drf的过滤 1.简单的过滤,改写一下views: 1 from .serializer import GoodsSerializer 2 from rest_framework.views import...2.自定义过滤器 在settings.py中注册django_filter,在末尾配置过滤 1 INSTALLED_APPS = [ 2 ..... 3 'django_filters

4.8K61

Django 实现将图片转为Base64,然后使用json传输

最近使用Django来进行图像的传输,由于要求需要使用Json格式进行请求,所以我们尝试了二进制编码放在json里,发现bytes格式不能打入json,于是转为了base64 将图片转为json 图片转为...将多个图片保存成一个URL串返回给前端 说明 Django有ImageField字段,是封装好的,使用很方便,但是一个ImageField字段只能保存一张图片的URL,我现在是想将多张图片保存在一个字段里...,然后URL和URL之间用一个自定义的分隔符连接起来,这样不用为了图片再设计一个字表。...import admin from django.urls import path from django.conf.urls.static import static # 需要添加这句,包含静态资源之类的...以上这篇Django 实现将图片转为Base64,然后使用json传输就是小编分享给大家的全部内容了,希望能给大家一个参考。

3.5K20

django写接口(实战篇)

pip install django-filter 然后我们需要将过滤器模块到 settings.py 中的 INSTALLED_APPS 进行注册才可以使用。...注册完以后,我们在 REST_FRAMEWORK 字典中将过滤添加进去 REST_FRAMEWORK = { # 配置全局分页类型和每页数量 'DEFAULT_PAGINATION_CLASS...首先我们要先创建一个 filters.py 文件,用来定义过滤器 filter import django_filters # 自定义过滤器需要继承 django_filters.rest_framework.FilterSet...类来写 class PostFilter(django_filters.rest_framework.FilterSet): # 定义进行过滤的参数,CharFilter 是过滤参数的类型,过滤器参数类型还有很多...首先,我们对 model 类进行一些小的改造 # models.py # 省略 import class Post(models.Model): # ....省略之前的字段 # 添加 author

2.1K20

第 9 篇:实现分类、标签、归档日期接口

django-rest-framework 默认只能识别标准命名的视图集方法并将其注册为 API,但我们可以添加更多非标准的 action,而为了让 django-rest-framework 能够识别这些方法...(例如 JSON)。...对于这样的场景,我们可以在请求 API 时加上查询参数,django-rest-framework 解析查询参数,然后从全部文章列表中过滤出查询所指定的文章列表再返回。...这在 RESTful API 的设计中肯定是会遇到的,因此第三方库 django-filter 帮我们实现了上述所说的查询过滤功能,而且和 django-rest-framework 有很好的集成,我们可以在...category,tags 两个过滤字段因为是 Post 模型中定义的字段,因此 django-filter 可以自动推断其过滤规则,只需要在 Meta.fields 中声明即可。

2.6K30

DRF框架学习(二)

(若没有Django环境,需要先创建环境安装Django) 3.1.1安装DRF pip install djangorestframework 3.1.2 添加rest_framework应用 我们利用在...Django框架学习中创建的demo工程,在settings.py的INSTALLED_APPS中添加rest_framework’。...序列化器类语法:字段名 = serializers.字段类型(选项参数) from rest_framework import serializers # serializers.Serializer....字段类型(选项参数) 4.2通用选项参数 参数名称 解释 required 默认为True,意思是这个字段在反序列化时必须输入 read_only、write_only 默认是False,如果是仅用于反序列化输出时使用...raise serializers.ValidationError("图书不是关于Django的") return value 然后在字段添加validators选项参数,写一个列表,将定义的校验函数名放进去

4.1K30

Django REST Framework-如何使用过滤

Django REST Framework (DRF) 是一个开源的 Web 框架,它建立在 Django 上,可以帮助你轻松地构建 RESTful API。...;ChoiceFilter:使用选项过滤,可以用于过滤多选字段;DateFilter:使用日期过滤,可以用于过滤日期类型的字段;NumberFilter:使用数字过滤,可以用于过滤数字类型的字段;RangeFilter...例如,你可以在视图的类定义中添加如下代码:from rest_framework import filtersclass MyView(viewsets.ModelViewSet): queryset...另外一个例子,如果你想要对日期字段进行范围过滤,你可以在视图的类定义中添加如下代码:from rest_framework import filtersclass MyView(viewsets.ModelViewSet...编写自定义的过滤器可以让你更好地控制过滤逻辑,并且可以使用任何 Django QuerySet 方法来处理过滤器。

1.9K40

Django REST Framework-序列化器的使用(一)

Django REST Framework(DRF)中,序列化器是用于将Django模型转换为序列化格式(例如JSON)和将序列化格式转换为Django模型的组件。...下面是一个简单的序列化器示例,用于将Django模型转换为JSON格式:from rest_framework import serializersfrom .models import Bookclass...我们使用Meta类指定要序列化的模型以及要包含在序列化器中的字段。使用'all'选项,我们可以将所有模型字段包含在序列化器中。...我们可以使用以下代码将Django模型序列化为JSON:from django.http import JsonResponsefrom .serializers import BookSerializerfrom...我们使用SerializerMethodField将get_timestamp()方法添加到序列化器中,并在Meta类中指定我们要包含的所有字段

57330

django rest framework使用django-filter用法

django rest framework使用django-filter注意事项: 一定要在setting文件里面加载如下代码,而不是只安装包,否则django应用不报错,但是不能正确过滤。...', ), } 补充知识:rest_framework–filters和django-filters混合使用-过滤搜索 view from rest_framework.pagination import...这里可以吧django-filter过滤添加进来 和 rest_framework的filters添加进来一起用, 也可以单个用, 看你的需求 filter_backends = [DjangoFilterBackend...# 等同就是根据你过滤字段的数据必须跟数据库里那个字段的数据相同 # filter_fields = ['name', 'shop_price'] # 指定过滤器类 filter_class...""" # 大于这个值 name指定字段 lookup_expr过滤条件 # NumberFilter 数字类型 price_min = django_filters.NumberFilter

1.8K10

测试开发进阶(二十七)

反向指定 父表中默认不会生产关联字段(从表),可以手动指定,字段名默认为子表模型类名「小写_set」 projects.serializer.ProjectModelSerializer中添加 interfaces_set...中的request.POST和request.FILES 可以对POST,PUT,PATCH的请求体进行解析 支持form表单传参,支持json格式传参 request.query_params 类似Django...LearnDjango/settings.py中添加: # 指定默认渲染类 REST_FRAMEWORK = { "DEFAULT_RENDERER_CLASSES": ( #...import GenericAPIView 在视图类中指定过滤引擎 指定需要排序的字段 指定查询集 指定模型序列化器 class ProjectsList(GenericAPIView): #...1.在视图类中指定过滤引擎 # OrderingFilter排序 filter_backends = [filters.OrderingFilter] # 2.指定需要排序的字段

58520

安装 Django REST Framework

安装Django REST Framework(以下简称DRF)非常简单。您只需按照以下步骤操作:创建一个新的Django项目或使用现有的Django项目。在命令行中使用pip命令安装DRF。...它们负责将Django模型转换为JSON、XML或其他格式的数据,并反之亦然。...下面是一个简单的序列化器示例,用于将Django的User模型序列化为JSON格式:from rest_framework import serializersfrom django.contrib.auth.models...我们指定了User模型作为序列化器的元数据,并指定了我们想要在JSON中包含的字段。创建视图视图是DRF中的另一个核心概念。它们定义了API的行为,即如何响应请求、如何验证输入等。...DRF有很多其他功能,例如身份验证、权限管理、限速、过滤、分页等等。您可以在DRF的官方文档中找到所有这些功能的详细信息。

1.4K20

Python进阶43-drf框架(五)

群查之搜索过滤组件 群查之排序过滤组件 基础分页组件 偏移分页器 自定义过滤器 游标分页器(了解) Django过滤器插件 django-filter重点使用方法 drf...pagenations ## 自定义过滤器 from api.filters import LimitFilter ## django-filter过滤器插件 from django_filters.rest_framework...重点使用方法 ---- 自定义过滤字段 api目录下的filter.py文件中 ## django-filter插件过滤器类 from django_filters.rest_framework import...插件过滤器类 from django_filters.rest_framework import FilterSet from . import models from django_filters...过滤插件:filter_class = CarFilterSet 5、自定义过滤器:自定义过滤类实现filter_queryset即可,根据筛选条件筛选后再返回queryset即可 使用: i)视图类添加过滤

3.1K20

重点内容回顾-DRF

仅仅在该字段null=True,允许为null时可用。 2. related_name related_name是在定义模型类时,外键的一个选项。它的功能下面慢慢给大家分析一下。...class 序列化器类名(serializers.Serializer): # 字段名 = serializer.字段类型(选项参数) 如果我们想要使用序列化器对应的是Django的模型类,那么可以继承自...我们还可以使用extra_kwargs参数为 ModelSerializer添加或修改原有的选项参数。...()来进行数据的校验,我们还可以补充额外的验证: a.先写一个函数(如about_django)封装补充验证的功能,然后在字段添加 validators参数,如下: btitle = serializers.CharField...过滤:需要先安装django-filter并进行注册设置,再在视图中通过 filter_fields设置过滤字段

2.4K20
领券