6.2. 字段查找
您可以通过将查找附加到字段名称,使用字段查找进行更高级的查询:
?field__lookup=value
支持以下字段查找:
- Exact match: Exact match (如果没有指定,则默认查找,如果未指定),请参阅以下备注。
- iexact:完全不区分大小写的版本。
- contains: Field 包含值。
- icontains:包含不区分大小写的版本。
- startswith: Field 以值开头。
- istartswith:开头不区分大小写的版本.
- endwith: Field 以值结尾。
- iendswith:结尾不区分大小写的版本.
- 正则表达式:字段与给定的正则表达式匹配。
- iregex:正则表达式的不区分大小写版本。
- gt:而不是比较。
- gte :大于或等于比较。
- lt: 少于比较。
- LTE:小于或等于比较。
- isnull :检查给定字段或相关对象是否为 null;需要布尔值。
- 在 中:检查给定字段的值是否出现在提供的列表中;需要项目列表。
-
您可以为 true 指定布尔值为
True
或1
,False
或0
代表 false (不区分大小写)。
例如,?created__gte=2023-01-01
提供了在 1/1/2023 后创建的项目列表。
您可以将 null 值指定为 None
或 Null
(不区分大小写),但我们建议使用 isnull
查找来明确检查 null 值。
您可以将列表( 用于查询
)指定为以逗号分隔的值列表。根据请求的用户的访问权限级别通过查询字符串参数进行过滤:
-
role_level
: 要过滤的角色级别,如admin_role
注意
默认情况下,Ansible Automation Platform 的早期版本使用 _exact 结果返回查询。作为临时解决方案,将默认 过滤器的
限制设置为 ?limit_exact
。例如,/api/v2/jobs/?limit_exact=example.domain.com
会产生:
{ "count": 1, "next": null, "previous": null, "results": [ ...