Как мне добавить поле, содержащее список словарей в Marshmallow Python? - PullRequest
1 голос
/ 10 июля 2019

В Marshmallow, чтобы иметь поле списка, вы можете использовать:

include_in = fields.List(cls_or_instance=fields.Str(),
                         default=['sample1', 'sample2'])

Это нормально, но у меня есть новое требование иметь список словарей в поле. Пример полезной нагрузки:

[{
  "name": "Ali",
  "age": 20
},
{
  "name": "Hasan",
  "age": 32
}]

Эта полезная нагрузка является частью большой схемы, , поэтому теперь вопрос как мне добавить и проверить такое поле?


EDIT-1: Я пошел еще дальше и обнаружил, что в Marshmallow есть тип поля Dict, поэтому до сих пор у меня есть следующий пример кода:

fields.List(fields.Dict(
        keys=fields.String(validate=OneOf(('name', 'age'))),
        values=fields.String(required=True)
))

Теперь возникает новая проблема, и я не могу установить разные типы данных для полей в словаре (name и age). Я был бы счастлив, если бы кто-то мог пролить свет на это.

...