Фильтрация запросов

Для более детальной выборки объектов можно использовать фильтры:

  • exact - найти объекты, у которых параметр идентичен строке, с учётом регистра:
https://panel.netangels.ru/api/v1/dnszone/?name__iexact=login.Netangels.ru
"objects": [
    {
        "adnsrecord_set": [
            "/api/v1/adnsrecord/14/",
            "/api/v1/adnsrecord/9/"
        ],
        "comment": "",
        "id": "7",
        "name": "login.Netangels.ru",
        "resource_uri": "/api/v1/dnszone/7/",
        "ttl": 3600
    }
]
  • iexact - найти объекты, у которых параметр идентичен строке, без учёта регистра.
  • contains - найти объекты, у которых параметр содержит подстроку:
https://panel.netangels.ru/api/v1/dnszone/?name__contains=netangels
"objects": [
    {
        "adnsrecord_set": [
            "/api/v1/adnsrecord/14/",
            "/api/v1/adnsrecord/9/"
        ],
        "comment": "",
        "id": "7",
        "name": "login.netangels.ru",
        "resource_uri": "/api/v1/dnszone/7/",
        "ttl": 3600
    },
    {
        "adnsrecord_set": [
            "/api/v1/adnsrecord/5/"
        ],
        "comment": "",
        "id": "3",
        "name": "another.netangels.ru",
        "resource_uri": "/api/v1/dnszone/3/",
        "ttl": 3600
    }
]
  • icontains - найти объекты, у которых параметр содержит подстроку, без учёта регистра.
  • gt - найти объекты, у которых параметр больше чем значение:
https://panel.netangels.ru/api/v1/dnszone/?id__gt=2
"objects": [
    {
        "adnsrecord_set": [
            "/api/v1/adnsrecord/14/",
            "/api/v1/adnsrecord/9/"
        ],
        "comment": "",
        "id": "7",
        "name": "login.netangels.ru",
        "resource_uri": "/api/v1/dnszone/7/",
        "ttl": 3600
    },
    {
        "adnsrecord_set": [
            "/api/v1/adnsrecord/5/"
        ],
        "comment": "",
        "id": "3",
        "name": "another.netangels.ru",
        "resource_uri": "/api/v1/dnszone/3/",
        "ttl": 3600
    }
]
  • lt - найти объекты, у которых параметр меньше чем значение.
  • gte - найти объекты, у которых параметр больше или равно значению.
  • lte - найти объекты, у которых параметр меньше или равно значению.
  • startswith - найти объекты, у которых параметр начинается с подстроки.
  • istartswith - найти объекты, у которых параметр начинается с подстроки, без учёта регистра.
  • endswith - найти объекты, у которых параметр кончается на подстроку.
  • endswith - найти объекты, у которых параметр кончается на подстроку, без учёта регистра.
  • year - найти объекты, у которых параметр времени содержит нужный год:
https://panel.netangels.ru/api/v1/someresource/?create_date__year=2012
"objects": [
    {
        "id": "1",
        "name": "first",
        "create_date": "2012-01-01"
        "resource_uri": "/api/v1/someresource/1/",
    }
]
  • month - найти объекты, у которых параметр времени содержит нужный месяц.
  • day - найти объекты, у которых параметр времени содержит нужный день.

Можно применять несколько фильтров для одного запроса:

https://panel.netangels.ru/api/v1/dnszone/?id__gt=2&name__icontains=Netangels
"objects": [
    {
        "adnsrecord_set": [
            "/api/v1/adnsrecord/5/"
        ],
        "comment": "",
        "id": "3",
        "name": "another.Netangels.ru",
        "resource_uri": "/api/v1/dnszone/3/",
        "ttl": 3600
    }
]