tri.query是定义查询的库

tri.quer的Python项目详细描述


三、查询

tri.query使您可以在django应用程序中轻松实现搜索和筛选。

主要功能:

  • 轻松生成简单的筛选gui,同时:
  • 为视图提供高级查询语言
  • 查询语言可以独立使用,而无需使用gui部件
  • 基于tri.form的高度可定制的gui

示例

简单视图,允许用户通过从下拉列表中选择品牌来搜索汽车,然后搜索 对于高级模式下的特定型号:

classCarQuery(Query):make=Variable.choice(choices=['Toyota','Volvo','Ford'],form_field__show=True)# Display this field in the simple style GUImodel=Variable.text()defcars(request):query=CarQuery()cars_query_set=query.request_to_q(request)form=query.form()returnrender(template_name='cars.html',context_instance=RequestContext(request,{'query_form':form,'cars':cars_query_set}))
<!-- cars.html -->
{% include "tri_query/form.html" with form=query_form %}

<ul>
    {% for car in cars %}
        <li>{{ car }}</li>
    {% endfor %}
</ul>
simple_gui.png

切换到高级模式后:

advanced_gui.png

以编程方式调用搜索API:

query=CarQuery()cars_query_set=query.parse('make=Toyota and (make=1991 or make=1992)')

运行测试

您需要安装TOX,然后只需进行测试

许可证

更改日志

6.0.0(2019-06-14)

  • 将模块从 tri.query 重命名为 tri_query
  • 放弃了对python 2和django<;2.0的支持

5.0.2(2019-05-03)

  • 修复了from_model在继承时丢失类型的情况

5.0.1(2019-04-25)

  • 修正了在同时选择多个项目和筛选某些其他字段时设置多个选项的问题。

5.0.0(2019-04-12)

  • 使变量快捷键与子类化兼容
  • 使用新的major tri.declarative和update来遵循类成员快捷方式的新样式
  • 添加了缺少的变量。多个选项快捷方式

4.2.1(2019-04-25)

  • 修正了在同时选择多个项目和筛选某些其他字段时设置多个选项的问题。

4.2.0(2019-04-01)

  • 使变量快捷方式与子类化兼容

4.1.0(2019-02-18)

  • 查询验证错误的http端点: 查询/错误

4.0.4(2018-10-23)

  • 支持搜索引号

4.0.3(2018-10-10)

  • 如果您没有指定要查找的值,则会显示一条更有用的错误消息,但您需要这样做。
  • 删除了对设置默认值的错误使用。这可能会导致不接受嵌套参数的重写。

4.0.2(2018-10-04)

  • 添加变量。ATE用于编辑允许空值的布尔字段

4.0.1(2018-09-21)

  • 进行查询a refinableObject

4.0.0(2017-08-22)

  • 移到tri.declarative 0.34和tri.form 5.0
  • 注意,由于更新了tri.form,指定构造函数/可调用的gui类不再是有效参数。使用gui call_target或只使用gui
  • 如果您给它一个 queryset 作为 选项,则不再需要指定 模型 参数来 选项集 多选项集 (而不是提供一个可调用的)

3.3.0(2017-04-27)

  • 将默认行为从快捷方式中移出,以便可以在外部使用它们
  • 删除了用于切换简单/高级筛选的jquery依赖项
  • 已拆下Django 1.7的支架

3.2.0(2017-03-22)

  • 变量 类现在继承自 对象 ,使实现更像pythonic。 (在构造函数调用中仍然可以重写属性,请参见 namespaceawareobject

3.1.0(2016-09-19)

  • 从U型移动到简化的工厂系统
  • 为变量添加了快捷方式:url、time、datetime、date、email、decimal

3.0.0(2016-09-14)

  • 更新至最新的主要tri.form

2.2.0(2016-08-16)

  • variable.choice\u queryset处理字符串"null"的方式与处理其他字符串的方式相同
  • 具有多选输入的查询现在可以工作了

2.1.1(2016-08-08)

  • 为选择QuerySet报告无效的运算符作为错误而不是崩溃

2.1.0(2016-07-12)

  • 检查超出范围的日期

2.0.0(2016-06-02)

  • 查询时缓存表单
  • 呈现全局窗体错误
  • query.form()不再接受请求参数,因为它仍然是多余的。这是一个潜在的突破性变化。
  • 正确地将attr发送到基础tri.form
  • 支持ajax后端。要查询的新参数:endpoint_dispatch_prefix。

1.11.0(2016-04-25)

  • 自动字段模型处理变量的小错误修复

1.10.0(2016-04-21)

  • 修正了不允许无变量查询对象的over-eager断言。

1.9.0(2016-04-21)

  • 在声明的变量和类meta中启用混合变量定义。
  • 变量的 后添加 属性以启用自定义变量排序(请参见 tri.declarative.sort_after()
  • 添加变量.from_model,query.from_model

1.8.0(2016-04-19)

  • 增加了参数作为dict(foo=dict(bar=17))传递时的健壮性

1.7.0(2016-04-08)

  • 添加Python3支持

1.6.0(2016-03-03)

  • 变量.float 快捷方式已添加
  • 添加对django 1.7和1.8的支持。

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

推荐PyPI第三方库


热门话题
在OSGI中使用cxf生成的客户端时出现Java类装入器问题和JaxB异常   java为什么要在javamail中迭代多部分电子邮件中的部分?   并发编程问题   JFileChooser&&System中未调用java windowClosing。退出功能不正常?   SQL查询的java语法分析   java如何使用AspectJ声明字段上的警告   什么是java向量。元素()C#等价物   java解析Android应用程序中tornado web服务中的CSV文件   java我试过c2dm,我需要服务器端   java调整JPanel大小以适应新的JLabel图标   Java与Python脚本的通信   java使用Saxon通过XSLT生成URL   java net::ERR_complete_CHUNKED_编码200(OK)来自struts应用程序中的tomcat   java如何为我的窗格设置不同的位置?   java使用Cypher Neo4j获取给定类型的所有节点(从SQL世界中的tablename中选择*)   nio使用Java解析文件值   java使用WSDL生成REST客户端会是错误的方向吗?   java如何在我的应用程序中构建类映射?   java按钮。setEnabled在第一个循环中不起作用   xPath适用于最后一页,但不适用于第一页