我一直在搜索如何验证字典的键是否具有值(必需)以及此值的类型是bytes
使用Marshmallow,但我没有找到任何可能的内容工作
Marshmallow参考文档中没有与“{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')
这就是全部。很抱歉浪费你的时间。