一种比drf更好的基本滤波方法

drf-lafv的Python项目详细描述


build-status-imagepypi-version

概述

一种比drf更适合做一些基本滤波器的方法

要求

  • Python(2.7,3.2,3.3,3.4,3.5-加上django 1.8-)
  • Django(1.7,1.8)
  • django rest框架(3.0、3.1、3.2)

安装

使用pip

安装
$ pip install drf-lafv

示例

假设您有以下型号.py

fromdjango.dbimportmodelsclassAuthor(models.Model):name=models.CharField(max_length=250)nickname=models.CharField(max_length=100)classBook(models.Model):title=models.CharField(max_length=200)description=models.TextField()publication_date=models.DateField()isbn=models.CharField(max_length=17)author=models.ForeignKey(Author)

你想根据作者的昵称isbn过滤你的书单,然后创建 一个自定义筛选器,它允许您获取发布时间小于 30天前。好吧,DRF本身,请您安装django过滤器并编写 一堆可能很难的东西。使用lafv您可以完成此操作:

fromlafv.viewsimportListAPIFilteredViewfromserializersimportBookSerializerclassBookView(ListAPIFilteredView):queryset=Book.objects.all()serializer_class=BookSerializerfilter_fields=('author__nickname','isbn')custom_filters=('new',)deffilter_new(self,queryset):"""
        get books that publication date is no longer than 1 month
        """last_month=datetime.today()-timedelta(days=30)queryset=queryset.filter(publication_date__gte=last_month)returnqueryset

就这样!,请检查测试应用程序中的示例

测试

安装测试要求。

$ pip install -r requirements.txt

使用运行测试运行

$ ./runtests.py

您还可以使用优秀的tox测试工具来运行测试 针对所有受支持的python和django版本。安装tox 全局,然后简单地运行:

$ tox

文件

要构建文档,您需要安装mkdocs

$ pip install mkdocs

要预览文档:

$ mkdocs serve
Running at: http://127.0.0.1:8000/

要生成文档:

$ mkdocs build

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
加密如何在Java中使用Skipjack(skip32)将数据库中的顺序整数随机化   java Android在两个活动之间传递数据获取NullPointerException   在构造函数中传递的java上下文显示错误   java将密钥添加到选定的密钥集   javascript为什么带有特殊字符的字符串在GET和POST方法中的行为不同?   java将反射。方法创建一个函数接口   设置Javasocket的端口   java通过一次按键调用MenuItem   java和引擎加载图形:为什么我的背景纹理很小,而且是颠倒的   如何将UV纹理从blender加载到opengl 安卓 java   跨Java虚拟机实现的jvm Java toString表示?   spring在Java服务器页面的上下文中这叫什么?