Передача пользовательских аргументов в схему схемы зефира и методы предварительной обработки - PullRequest
0 голосов
/ 24 октября 2019

Я новый пользователь marshamallow и пытаюсь использовать схему для проверки гибких записей JSON / dict в Python. Есть ли способ передать пользовательские аргументы при создании схемы marshamallow ? Кроме того, как передать пользовательские аргументы в метод pre_load схемы? Мое требование что-то вроде ниже


    from marshmallow import Schema, fields, post_load, EXCLUDE, validate, \
    validates, pre_load

    class UserSchema(Schema):
      name = fields.Str()
      joined_on = fields.AwareDateTime()

      @pre_load
      def sanitize(self, data, **kwargs):
          tzinfo = kwargs.get('tzinfo')
          data['joined_on'] = tzinfo.localize(data['joined_on'])
          return data

     schema = UserSchema()
     user = schema.load({"name": "Tim", "joined_on": datetime.datetime(2019, 10, 23)}, tzinfo=pytz.utc)

...