Я использую Colander для проверки параметры запроса для веб-сервера Pyramid. Например:
class MySchema(colander.MappingSchema):
first_name = colander.SchemaNode(colander.String())
last_name = colander.SchemaNode(colander.String())
Здесь first_name
и last_name
являются обязательными параметрами. Если я использую missing=''
, то это сделает их необязательными, но они все равно будут добавлены к десериализации как пустая строка, что не очень полезно, если пользователь отправляет пустую строку.
Лучшее, что я могу придумать, это missing=None
, а затем проверить None
позже.
Есть ли способ пометить параметр как действительно необязательный? Это означает, что если их нет в запросе, их не должно быть и в десериализованном результате.