具有显式opt-in且不可配置的树查询

django-tree-queries的Python项目详细描述


https://travis-ci.org/matthiask/django-tree-queries.svg?branch=master

使用邻接列表和递归公共查询django模型树 表格表达式。支持PostgreSQL、sqlite3(3.8.3或更高版本)和 Mariadb(10.2.2或更高版本),也可能是MySQL8.0,但我发现没有简单的方法 来测试它。

支持django 1.8、1.11或更高版本、python 2.7和3.4或更高版本。见 travis ci构建了更多细节。

功能和限制

  • 仅支持整数主键。
  • 允许指定同级之间的顺序。
  • 使用正确的深度定义,其中根节点的深度为 零。
  • 此时父外键必须命名为"parent"(但是 你为什么要用不同的名字命名呢?)
  • 公共表表达式添加的字段始终是 tree_depthtree_pathtree_ordering。名字不能 被改变。tree_depth是一个整数,tree_path是 主键和tree_ordering用于 在其兄弟节点中对节点排序
  • 除了添加上面提到的字段之外,包只添加 用于筛选祖先和后代的QuerySet方法。其他 功能可能很有用,但不会仅仅添加到包中 因为这是可能的。
  • 代码少,与其他树相比相对简单 Django的管理解决方案。没有多余的值,所以 在树中引入一个循环来结束损坏的数据 结构(使其成为图形)TreeNode抽象模型类 有一些保护措施

用法

  • 使用pip安装django-tree-queries
  • 扩展tree_queries.models.TreeNode或构建自己的queryset 和/或使用tree_queries.query.TreeQuerySet的管理器这个 TreeNode抽象模型已包含parent外键 为了您的方便,还使用模型验证来防止 循环
  • 如果需要 附加字段分别是CTE
  • 在文档更完整之前,我必须让您参考 test suite 其他说明和使用示例。

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

推荐PyPI第三方库


热门话题
java类。getResource和ClassLoader。getSystemResource:有没有理由选择其中一个而不是另一个?   在Java中以编程方式粘贴后恢复剪贴板   Java字符串到日期没有时间   JavaSpring注释:@Component起作用,@Repository不起作用   java“addScript”在HSQL中是否有最大记录计数?   java如何将值从JDialog框返回到父JFrame?   java我的模块库的用户有没有办法访问尚未导出的类?   java javac:未找到命令   java如何解决jsoup错误:无法找到请求目标的有效证书路径   类中的java作用域变量   Java中集合实现中的arraylist add()方法不起作用   java如何使用while循环和从用户接收输入来近似Pi?   java Spring安全CSRF培训模式   在安卓系统中,如何通过在警报框外单击来限制用户?