Python Marshmallow установил разные поля как «обязательные» для каждого варианта схемы одной и той же схемы.Python

Программы на Python
Anonymous
Python Marshmallow установил разные поля как «обязательные» для каждого варианта схемы одной и той же схемы.

Сообщение Anonymous »

У меня есть следующая схема:

Код: Выделить всё

class MySchema(Schema):
id = fields.Str()
name = fields.Str()
value = fields.Str()
description = fields.Str()
Я хочу проверить некоторые входные данные с помощью Flask для различных типов запросов.
Для запросов GET я хочу, чтобы поле id было обязательным (

Код: Выделить всё

id = fields.Str(required=True)
).
Для запросов POST мне не нужно, чтобы присутствовал идентификатор, но поля имени, значения и описания должны иметь значение require=True. Я знаю, как исключить идентификатор при проверке входных данных: схема = MySchema(exclude=["id"]).
Для запросов PUT мне не нужен идентификатор но мне нужна хотя бы одна из имени, значения или описания.
Я мог бы иметь просто 3 разные схемы, но я бы старался избегать этого, насколько это возможно.

Подробнее здесь: https://stackoverflow.com/questions/785 ... variant-of

Вернуться в «Python»