Исключение при попытке использования даты в файле API

Я пытаюсь использовать постоянство API, используя asticsearch-dsl версии 6.2.1 следующим образом:

class MyClass(Document):
    start = Date(format='dd-MM-yyyy HH:mm:ss:SSS')
    stop = Date(format='dd-MM-yyyy HH:mm:ss:SSS')

Когда я звоню MyClass.init()Я вижу (через Кибану), что на самом деле отображение, как я и ожидал:

    "start": {
      "type": "date",
      "format": "dd-MM-yyyy HH:mm:ss:SSS"
    },
    "stop": {
      "type": "date",
      "format": "dd-MM-yyyy HH:mm:ss:SSS"
    }

У меня есть переменная my_instance который является примером MyClass,my_instance.start а также my_instance.stop удерживайте строки, как '15-06-2018 02:54:05:382'

Когда я звоню my_instance.save() Я получаю следующее исключение:

elasticsearch_dsl.exceptions.ValidationException: {'start': 
[ValidationException("Could not parse date from the value ('15-06-2018 
02:54:05:281')", ValueError('Unknown string format:', '15-06-2018 
02:54:05:281'))], 'stop': [ValidationException("Could not parse date from the 
value ('15-06-2018 02:54:05:382')", ValueError('Unknown string format:', '15- 
06-2018 02:54:05:382'))]}

Что я делаю неправильно?

1 ответ

Решение

К несчастью elasticsearch-dsl в настоящее время поддерживает только даты в формате ISO. Если вы хотите использовать любой другой формат, вам нужно указать (де) сериализацию самостоятельно.

Другие вопросы по тегам