阿小信大人的头像
Where there is a Python, there is a way. 阿小信大人

colander简单用法2014-09-03 02:58

文档 http://docs.pylonsproject.org/projects/colander/en/latest/#

#-*- coding:utf-8 -*-
__author__ = 'ashin'

from colander import SchemaNode, MappingSchema
from colander import Length, OneOf
from colander import String

class Person(MappingSchema):
    name = SchemaNode(String(), validator = Length(max=5))
    sex = SchemaNode(String(), validator = OneOf(['M', 'F']), missing='M')


person_struct = {
        'name':'ashin',
       # 'sex':'X',
        }

person_schema = Person()

person_deserialized = person_schema.deserialize(person_struct)  #dict type

assert person_deserialized['name'] == 'ashin'
assert person_deserialized['sex'] == 'M'

验证person_struct中的name最大长度为5,sex为M或F中的一个,默认为M

当name的长度大于5时,sex为X时:

raise error
colander.Invalid: {'name': u'Longer than maximum length 5', 'sex': u'"X" is not one of M, F'}

如果您觉得从我的分享中得到了帮助,并且希望我的博客持续发展下去,请点击支付宝捐赠,谢谢!

若非特别声明,文章均为阿小信的个人笔记,转载请注明出处。文章如有侵权内容,请联系我,我会及时删除。

#Python#   阅读[3131] 评论[0]

你可能也感兴趣的文章推荐

本文最近访客

网友185.*.*.23[火星]2022-09-25 06:19
网友54.*.*.188[法国]2022-09-25 06:15
网友185.*.*.18[火星]2022-09-25 06:15
网友185.*.*.17[火星]2022-09-25 06:13

发表评论