用于sqla过滤器的yaml解析器。

sqla-filters-yaml的Python项目详细描述


Sqla过滤器yaml

将yaml解析器添加到sqla filters包中。

简介

向sqla过滤器添加yaml支持。

要求

这个包使用python包pyyaml要安装pyyaml,需要有yaml.h头文件。如果不是的话 在您的系统上,您需要安装libyaml dev包。

  • 在软呢帽上
sudo dnf install libyaml-devel
  • 基于debian的发行版(ubuntu,…)
sudo apt install libyaml-dev

安装

pip install sqla-filter-yaml

开始

yaml格式

---
type: and
data:
- type: or
  data:
  - type: operator
    data:
      attribute: name
      operator: eq
      value: toto
  - type: operator
    data:
      attribute: name
      operator: eq
      value: tata
- type: operator
  data:
    attribute: age
    operator: eq
    value: 21

:警告:yaml格式将来可能会更改。:警告:

示例代码

从yaml字符串/文档创建yamlitterparser的实例。

示例:

# Sqlalchemy setup + model definition# Create a YAML parser instanceparser=YAMLiltersParser(raw_json_string)# You can finaly filter your queryquery=session.query(Post)filtered_query=parser.tree.filter(query)# Get the resultsquery.all()

结果树

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

贡献

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

pip install -e '.[dev]'

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

推荐PyPI第三方库


热门话题
java在滚动时无法隐藏TabLayout(帮助!)   java查找用于播放声音的文件   jvm Java 32位与64位兼容性   java Spring web应用程序,从web中删除<welcomefilelist>。xml提供404   java如何在收到n个元素后退出akka流?   java每秒多次调用多个对象的多个方法   JavaSpringMVC4.0.1请求映射不起作用   使用Launch4j时不会创建java Exe   未知的JSON(LinkedHashMap)到Java(POJO)类   java在我的getter方法中格式化double时遇到问题   java我想覆盖现有的zipfile   java中断一个while循环,其中有一个trycatch块   java在Orientation开关上调整自定义ImageView的大小   java如何为Android生成常量UUId?   用于Java嵌入式套件的Websocket   Windows上的java字符编码混乱