Python marshmallow blob / bytes字段

时间:2018-04-10 11:08:51

标签: python python-3.x odm marshmallow

我一直在搜索如何验证字典的键是否具有值(必需)以及此值的类型是bytes使用Marshmallow,但我没有找到任何可能的内容工作

Marshmallow参考文档中没有与“{1}}数据类型匹配的”基本“字段类型。所以我认为它必须是一个自定义字段。

有没有人遇到过这个问题?有什么线索可以解决吗?

谢谢

1 个答案:

答案 0 :(得分:4)

嗯......解决方案很简单,只需阅读正确的文档页面,我就知道如何解决我的问题。

只需创建一个从sed延伸的新类,并覆盖fields.Field方法,如下所示:

_validate

这是棉花糖架构:

class BytesField(fields.Field):
    def _validate(self, value):
        if type(value) is not bytes:
            raise ValidationError('Invalid input type.')

        if value is None or value == b'':
            raise ValidationError('Invalid value')

这就是全部。很抱歉浪费你的时间。