Date

Tipo de campo: Date
Filtros disponibles: exact (=), dateyearquartermonthweekdayhourminutesecondisnull

El mejor ejemplo de un atributo Date es createdAt. Como las fechas tienen diferentes formatos, hemos moldeado los filtros para proporcionarte la mayor flexibilidad posible.

exact

Filtra para una coincidencia exacta de Date (formato ISO de fecha).

GET https://api.netux.com/api/v2.0/devices/?createdAt=2020-05-27T13:29:26.533156Z

// Retorna Array 'results' con device creado exactamente en la fecha proporcionada
{
    "count": 1,
    "next": null,
    "previous": null,
    "results": [
        {
            "createdAt": "2020-05-27T13:29:26.533156Z",
            ...
        }
    ]
}

date

Filtra para Dates que coinciden con un Date (sin referencia de tiempo).

GET https://api.netux.com/api/v2.0/devices/?createdAt__date=2020-05-27

// Retorna Array 'results' con fecha coincidente a fecha proporcionada en la consulta
{
    "count": 1,
    "next": null,
    "previous": null,
    "results": [
        {
            "createdAt": "2020-05-27T13:29:26.533156Z",
            ...
        }
    ]
}

👍

Característica

Un computador trata la fecha como un número, por lo tanto puedes combinar filtros de Number en Date. Una locura, ¿verdad? Veamos un ejemplo:

GET https://api.netux.com/api/v2.0/devices/?createdAt__date__gt=2020-05-20

// Retorna Array 'results' con todos los devices creados después de Mayo 20 de 2020
{
    "count": 3,
    "next": null,
    "previous": null,
    "results": [
        {
            "createdAt": "2020-05-27T13:29:26.533156Z",
            ...
        },
        {
            "createdAt": "2020-05-24T18:39:57.665938Z",
            ...
        },
        {
            "createdAt": "2020-05-24T15:40:08.339581Z",
            ...
        }
    ]
}

year / quarter / month / week / day / hour / minute / second

Las fechas pueden ser filtradas por cualquiera de los rangos de tiempo mencionados. Veamos algunos ejemplos:

// Filtrando por quarter (trimestre)
GET https://api.netux.com/api/v2.0/devices/?createdAt__quarter=1

// Retorna Array 'results' con devices creados durante el primer trimestre
{
    "count": 2,
    "next": null,
    "previous": null,
    "results": [
        {
            "createdAt": "2020-03-05T14:50:30.743038Z",
            ...
        },
        {
            "createdAt": "2020-03-03T14:36:30.409860Z",
            ...
        }
    ]
}

// Filtrando por devices creados después de
GET https://api.netux.com/api/v2.0/devices/?createdAt__hour__gte=15&fields=createdAt

// Retorna Array 'results' con todos los devices creados después de las 15:00 en cualquier fecha
{
    "count": 2,
    "next": null,
    "previous": null,
    "results": [
        {
            "createdAt": "2020-05-24T18:39:57.665938Z",
          ...
        },
        {
            "createdAt": "2020-05-24T15:40:08.339581Z",
          ...
        }
    ]
}

// Filtrando por devices creados dentro de un rango de fechas
GET https://api.netux.com/api/v2.0/devices/?createdAt__day__range=20,25

// Retorna Array 'results' con devices creados entre el 20 y 25 (de cualquier mes o año)
{
    "count": 2,
    "next": null,
    "previous": null,
    "results": [
        {
            "createdAt": "2020-05-24T18:39:57.665938Z",
            ...
        },
        {
            "createdAt": "2020-05-24T15:40:08.339581Z",
            ...
        }
    ]
}

🚧

Atención

Por favor, presta atención al hecho de que los rangos de tiempo, por ejemplo, mes, día, hora, se escriben todos en singular. En otras palabras, days__range es incorrecto, day__range es correcto.

El filtro __isnull puede aplicarse a Arrays como se describe en la sección Boolean.