Python 棉花糖 blob/字节字段
Posted
技术标签:
【中文标题】Python 棉花糖 blob/字节字段【英文标题】:Python marshmallow blob/bytes field 【发布时间】:2018-09-19 23:35:18 【问题描述】:我一直在寻找有关如何使用Marshmallow 验证字典的键是否具有值(必需)并且该值的类型是bytes
,但我没有找到任何可行的方法。
棉花糖参考文档中没有与bytes
数据类型匹配的“基本”字段类型。所以我认为它必须是一个自定义字段。
有人遇到过这个问题吗?有什么线索可以解决吗?
谢谢
【问题讨论】:
如果问题解决了,要么在下面发布解决方案,要么接受给出的答案 @cricket_007 我刚刚发布了答案,对不起。 【参考方案1】:嗯...解决方案很简单,只需阅读正确的文档页面,我就知道如何解决我的问题。
只需创建一个从fields.Field
扩展的新类并覆盖_validate
方法,如下所示:
class BytesField(fields.Field):
def _validate(self, value):
if not isinstance(value, bytes):
raise ValidationError('Invalid input type.')
if value is None or value == b'':
raise ValidationError('Invalid value')
这是棉花糖架构:
class MySchema(Schema):
// ...
field = BytesField(required=True)
// ...
就是这样。很抱歉浪费了您的时间。
【讨论】:
嗯,这对我很有帮助。谢谢。顺便说一句,我认为isinstance(value, bytes)
会比type(value) is not bytes
更好
浪费你的*时间
请添加对您使用的文档页面的引用。以上是关于Python 棉花糖 blob/字节字段的主要内容,如果未能解决你的问题,请参考以下文章