一种比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向dropup html/css添加项目   如何从java中的向量向量打印   Java Maven库项目模板   java使用atmosphere api还是直接使用grizzly?   java JComponent仅部分显示   如何将动态值传递给自定义注释,以从Java数据进行映射。性质   java破解已实现方法的返回类型的最佳方法?   java Netbeans在JFrame Gui布局中覆盖图像   spring java仅向登录用户显示注销按钮   java如何对com进行身份验证。谷歌。云bigquery。带有服务帐户的BigQuery`   java禁止空字符串参数和抛出RuntimeException以阻止方法继续的利弊   java分析项目中的所有JAR以获取版本和许可证信息   Java,数据库为什么要分配一个新对象,而我们可以直接将它放入数据库