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>
切换到高级模式后:
以编程方式调用搜索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的支持。