Array

Tipo de campo: Array
Filtros disponibles: exact (=), containscontained_byoverlaplenisnull

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.