Проверка словаря Цербер использует зарезервированное ключевое слово - PullRequest
0 голосов
/ 22 мая 2018

У меня есть словарь Python, который я пытаюсь проверить, используя Цербер.Однако одно из полей в моем диктовке называется "type", что противоречит ключевому слову "type", зарезервированному анализатором cerberus.

Есть ли способ обойти это без необходимости изменения исходного словаря?

Часть, о которой идет речь

    {
        {
            ...
            "db": {
                "type": "AzureTables",
                ...
            }
        }
    }

1 Ответ

0 голосов
/ 03 июня 2018

Поэтому, не видя используемую вами схему, я делаю обоснованное предположение.

schema = {
'db': {'type': 'dict',
       'schema': {
            'type': {'type': 'string'},
            'some_field': {'type': 'integer'}

       }
      }
}

document = {
      'db': {'type': 'AzureTables',
             'some_field': 5}
}

Приведенная выше схема проверяет документ, который следует без ошибок.Я предполагаю, что вам не хватает правила schema.Cerberus позволит вам использовать словарные ключи, которые зарезервированы, если вы поместите ключи в правило schema, как вы видите выше.

...