Array
Tipo de campo: Array
Filtros disponibles: exact (=
), contains
, contained_by
, overlap
, len
, isnull
exact
Filtra para una coincidencia exacta de elementos en el Array (longitud y orden de los elementos en el Array).
GET https://api.netux.com/api/v2.0/devices/?tags=usa,san%20diego
// Retorna Array 'results' con el device coincidente
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"tags": [
"usa",
"san diego"
],
...
}
]
}
contains
Filtra para Arrays que contienen uno o más elementos.
GET https://api.netux.com/api/v2.0/devices/?tags__contains=colombia
// Retorna Array 'results' con el device que contiene el tag 'colombia'
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"tags": [
"colombia",
"antioquia"
],
...
}
]
}
Atención con el orden
Aunque en algunos atributos pueda parecer que el orden no importa, por ejemplo en el caso de
tags
, la estructura de datos es Array, por lo que el orden sí importa.
contained_by
Filtra para Arrays que están completamente contenidos por el superset proporcionado como parámetro de consulta, es decir, todos los elementos del parámetro de consulta deben coincidir exactamente con los elementos encontrados en el array.
GET https://api.netux.com/api/v2.0/devices/?tags__contained_by=antioquia,colombia
// Retorna Array 'results' con array de tags coincidente
{
"count": 4,
"next": null,
"previous": null,
"results": [
{ "tags": [
"colombia",
"antioquia"
],
...
}
]
}
GET https://api.netux.com/api/v2.0/devices/?tags__contained_by=colombia,usa
// Retorna Array vacío ya que no hay devices completamente contenidos por los elementos proporcionados en la consulta
{
"count": 0,
"next": null,
"previous": null,
"results": []
}
Arrays vacíos
Tenga en cuenta que cualquier Array vacío es un subset de cualquier superset. Por lo tanto, todos los devices vacíos se recuperarán también. Para evitarlo, añade el parámetro de consulta
<array>__len=#
donde # es el número de elementos del array.
Característica
El orden de los parámetros de URL no importa para el filtro
contained__by
.
overlap
Filtra para Arrays que se solapan con los parámetros proporcionados en la consulta.
GET https://api.netux.com/api/v2.0/devices/?tags__overlap=colombia,usa
// Retorna Array 'results' con dos devices coincidentes ya que sus tags se solapan
{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"tags": [
"colombia",
"antioquia"
],
...
},
{
"tags": [
"usa",
"san diego"
],
...
}
]
}
len [length]
Filtra los Arrays que coinciden con el parámetro de longitud proporcionado en la consulta.
GET https://api.netux.com/api/v2.0/devices/?tags__len=0
// Retorna Array 'results' con todos los Arrays vacíos
{
"count": 3,
"next": null,
"previous": null,
"results": [
{
"tags": [],
...
},
{
"tags": [],
...
},
{
"tags": [],
...
}
]
}
El filtro __isnull
puede aplicarse a Arrays como se describe en la sección Boolean.
Updated about 2 years ago