示例#1
0
class UserSchema(Schema):
    name = fields.String(required=True,
                         validate=validate.Length(min=1, max=255))
    age = fields.Float()
    created = fields.DateTime()
    created_formatted = fields.DateTime(format="%Y-%m-%d",
                                        attribute="created",
                                        dump_only=True)
    created_iso = fields.DateTime(format="iso",
                                  attribute="created",
                                  dump_only=True)
    updated = fields.DateTime()
    species = fields.String(attribute="SPECIES")
    id = fields.String(default="no-id")
    homepage = fields.Url()
    email = fields.Email()
    balance = fields.Decimal()
    registered = fields.Boolean()
    hair_colors = fields.List(fields.Raw)
    sex_choices = fields.List(fields.Raw)
    finger_count = fields.Integer()
    uid = fields.UUID()
    time_registered = fields.Time()
    birthdate = fields.Date()
    since_created = fields.TimeDelta()
    sex = fields.Str(validate=validate.OneOf(
        choices=["male", "female", "non_binary", "other"],
        labels=["Male", "Female", "Non-binary/fluid", "Other"],
    ))
    various_data = fields.Dict()
    addresses = fields.Nested(Address,
                              many=True,
                              validate=validate.Length(min=1, max=3))
    github = fields.Nested(GithubProfile)
    const = fields.String(validate=validate.Length(equal=50))
    bytestring = fields.Bytes()
 class TestSchema(Schema):
     foo = fields.String(required=True)
 class Index(views.MethodView):
     @use_args({"foo": fields.String(required=True)})
     def post(self, args):
         return args
 class Index(views.MethodView):
     @use_body(fields.String(required=True))
     def post(self, args):
         return args
 class Index(views.MethodView):
     @use_body(fields.String(missing="default"))
     def post(self, args):
         return args
示例#6
0
 class TestSchema(Schema):
     myfield = fields.String(metadata={"foo": "Bar"})
     yourfield = fields.Integer(required=True, baz="waz")
示例#7
0
class GithubProfile(Schema):
    uri = fields.String(required=True)
示例#8
0
 class TestSchema(Schema):
     foo = fields.String()
示例#9
0
 class TestSchema(Schema):
     foo = fields.String(validate=validate.Range(max=4))
示例#10
0
 class TestSchema(Schema):
     optional_value = fields.String()
示例#11
0
 class TestSchema(Schema):
     id = fields.Integer(required=True)
     readonly_fld = fields.String(allow_none=True)
示例#12
0
 class TestSchema(Schema):
     id = fields.Integer(required=True)
     readonly_fld = fields.String(dump_only=True)
示例#13
0
 class UserSchema(Schema):
     name = fields.String(required=True)
     favourite_colour = Colour()
示例#14
0
 class ListSchema(Schema):
     foo = fields.List(fields.String(), required=True)
示例#15
0
def test_schema_to_converter_map():
    test_schema = {"foo": fields.String()}
    converter = ms.schema_to_converter(test_schema)
    assert converter({"foo": 5}) == {"foo": "5"}
示例#16
0
 class TestSchema(Schema):
     ip_address = fields.String(validate=validate.Regexp(ipv4_regex))
示例#17
0
def test_schema_to_converter_field():
    field = fields.String()
    converter = ms.schema_to_converter(field)
    assert converter(5) == "5"
示例#18
0
class Address(Schema):
    id = fields.String(default="no-id")
    street = fields.String(required=True)
    number = fields.String(required=True)
    city = fields.String(required=True)
    floor = fields.Integer(validate=validate.Range(min=1, max=4))
示例#19
0
def test_field_schema(app_ctx):
    test_schema = schema.FieldSchema(fields.String())

    assert test_schema.serialize(5) == "5"
    assert test_schema.dump(5) == "5"
    assert test_schema.deserialize("string") == "string"
示例#20
0
 class TestNestedSchema(Schema):
     myfield = fields.String(description="Brown Cow")
     yourfield = fields.Integer(required=True)