Как фильтровать в канун Python по строке идентификатора объекта без схемы - PullRequest
0 голосов
/ 16 мая 2018

Я использую Python Eve для создания службы хранения данных. Все мои коллекции не содержат схем, поэтому я установил для ALLOW_UNKNOWN значение True. Все работает отлично, за исключением полей, ссылающихся на другие. Я пытаюсь запросить фильтрацию коллекции по строке идентификатора объекта и всегда получаю пустой список.

Например, у меня есть наборы apps и task, установленные в настройках DOMAIN.

Последовательность запроса, которую я делаю, следующая:

POST '/ apps':

{
    "name": "test"
}

GET '/ apps':

{
    "_items": [
        {
            "_id": "5afb45872fb8d57c7d93d8fa",
            "name": "Test app",
            "_updated": "Tue, 15 May 2018 20:39:35 GMT",
            "_created": "Tue, 15 May 2018 20:39:35 GMT"
        }
    ],
    "_meta": {
        "page": 1,
        "max_results": 25,
        "total": 1
    }
}

POST '/ tasks':

{
    "title": "Check log files",
    "app_id": "5afb45872fb8d57c7d93d8fa"
}

GET '/ tasks':

{
    "_items": [
        {
            "_id": "5afb4bcd2fb8d57c7d93d912",
            "title": "Check log files",
            "app_id": "5afb45872fb8d57c7d93d8fa",
            "_updated": "Tue, 15 May 2018 21:06:21 GMT",
            "_created": "Tue, 15 May 2018 21:06:21 GMT"
        }
    ],
    "_meta": {
        "page": 1,
        "max_results": 25,
        "total": 1
    }
}

GET '/ tasks /? Where = {"app_id": "5afb45872fb8d57c7d93d8fa"}:

{
    "_items": [],
    "_meta": {
        "page": 1,
        "max_results": 25,
        "total": 0
    }
}

Мой вопрос:

  • Как опубликовать поле ObjectId без определенной схемы?
  • Как я могу получить фильтрацию задач по app_id?

Глядя на документы, я нашел параметр query_objectid_as_string, однако конечные точки документа возвращают ошибку 404.

GET / tasks / 5afb4bcd2fb8d57c7d93d912 -> Не найдено

...