Как установить required = True для параметра json в python django?
Я разрабатываю веб-апи. Я беру тело запроса и хочу, чтобы некоторые параметры были обязательно доступны или чтобы они не могли быть пустыми.
Например:-
request body =
{
"user" : username,
""id" : ID,
"detail" : {
"hair" : yes,
"height" : 111,
"weight" : 29
}
}
Я хочу установить "id" как required=True, а "height" также required=True.
Я искал и получил как установить "id" required=True {fields.Str(required=True)}, Но я не получил как установить "height" required=True.
Спасибо
Вы должны использовать вложенное поле: https://marshmallow.readthedocs.io/en/stable/marshmallow.fields.html#marshmallow.fields.Nested
Для параметра высоты можно создать сериализатор для обработки поля "detail" с помощью marshmallow следующим образом :
from rest_marshmallow import fields, Schema
class DetailSchema(Schema):
hair = fields.String()
width = fields.Integer()
height = fields.Integer(required=True)
class RequestSchema(Schema):
user = fields.String()
id = fields.Integer(required=True)
artist = fields.Nested(DetailSchema)