Разрешить нулевые значения в поле в flask-restx/flask-restplus

Я использую flask-restx для создания API.

Моя модель API выглядит следующим образом:

myModel = api.model(
    'myModel', 
    {
        'id' : fields.Integer(min=1, required=True),
        'code' : fields.String(enum=["A", "B", "C"], required=False),
    }
)

При этом код не может быть нулевым.

Но иногда поле кода пустое. Если это не так, это должно быть одно из значений A, B или C.

Я не могу добавить None в список перечислений, потому что это не строка.

Как сделать возможным быть нулевым?


person thomask    schedule 04.03.2020    source источник


Ответы (1)


добавить в свой скрипт

class NullableString(fields.String):
    __schema_type__ = ['string', 'null']
    __schema_example__ = 'nullable string'

затем

myModel = api.model(
    'myModel', 
    {
        'id' : fields.Integer(min=1, required=True),
        'code' : NullableString(enum=["A", "B", "C"], required=False),
    }
)

Это должно позволить вашему полю быть нулевым

person Stefan Cronje    schedule 20.08.2020
comment
Обновите до flask-resplus==0.13.0, а затем используйте ответ @Stefan. Это будет работать как шарм. - person Umar Hayat; 24.09.2020