帮助开发人员为sqlachemy orm创建筛选器的库。

sqla-filters的Python项目详细描述


sqla过滤器

licensewheelpyversions

简介

此项目的目的是设置基本类,以便您可以创建一个树,然后用于筛选使用sqlalchemy orm发出的请求。

目前,提供的元素如下:

  • 节点(见下表)
  • 类sqlafiltertree,它包含树并允许打印它。
  • basesqlaparser类,如果创建允许生成树的解析器,则该类将作为基础。

这个项目也是我体验命名空间包的一种方式。

安装

pip install sqla-filters

运算符

正在或将要实现以下运算符:

supportoperatorsnamecode
[x]likelikelike()
[x]eqequaloperators.eq
[x]not_eqnot equaloperators.ne
[x]nullnullis None
[x]not_nullnot nullis not None
[x]gtgreater thanoperators.gt
[x]gtegreater than or equaloperators.ge
[x]ltlower thanoperators.lt
[x]ltelower than or equaloperators.le
[x]ininin_()
[x]not_innot in~.in_()
[x]containscontainsoperators.contains

这是一棵树的样子的例子。

                                      +----------------------+
                                      |                      |
                                      |          and         |
                                      |                      |
                                      -----------------------+
                                                 ||
                                                 ||
                                                 ||
                    +----------------------+     ||     +----------------------+
                    |                      |     ||     |                      |
                    |          or          <------------>      age == 21       |
                    |                      |            |                      |
                    +----------------------+            +----------------------+
                               ||
                               ||
                               ||
+----------------------+       ||       +----------------------+
|                      |       ||       |                      |
|     name == toto     <---------------->     name == tata     |
|                      |                |                      |
+----------------------+                +----------------------+

贡献

你可以用不同的方式为项目做贡献。

1经典

派生存储库并运行以下命令以安装依赖项和开发人员依赖项。

pip install -e '.[dev]'

如果需要,pipenvPipefile也可用。

2使用命名空间功能

如果您想使用名称空间功能来贡献,那就非常简单。 首先创建自己的项目并使用以下目录结构。

ProjectFolder
    |______src
            |______sqla_filters
                        |______parser

这是一个创建新解析器的示例。

您可以在以下存储库中找到示例:

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

推荐PyPI第三方库


热门话题
java设置JFrame中可见空间的大小   java onCreate on fragment总是从错误的位置开始   java我应该使用AOP来解决这个横切问题吗?   Android全局变量java。lang.NullPointerException   java获取hibernate select查询的结果计数(返回对象的查询未选择计数(*))   java错误:(32,13)错误:无法访问javax的可引用类文件。命名。找不到可引用的   java如何在Eclipse中创建方形编辑器选项卡(无swtborderradius)?   带公式的java Apache POI颜色单元格   Java中的右移运算符功能   Java Selenium TestNG:框架(一个项目)被另一个项目使用时出现的问题   音频转换为Java特定格式的Wav文件   java从url显示图像,ImageView不起作用,WebView起作用   java格式化要输出到YML的字符串列表   java如何使用密码读取私钥?