Пример #1
0
    class TestModel:
        field1 = pb.field('element', idx=1)
        field2 = pb.field('element', idx=2)

        field3 = pb.wrap('wrapper', pb.field('element'), idx=1)
        field4 = pb.wrap('wrapper', pb.field('element'), idx=2)

        nested1 = pb.nested(Nested, idx=1)
        nested2 = pb.nested(Nested, idx=2)
Пример #2
0
 class TestModel:
     schema = pb.attribute('schemaLocation', ns='xsi')
     element1 = pb.field(ns='')
     element2 = pb.field()
     element3 = pb.field(ns='testns2')
     element5 = pb.wrap('element4', pb.field(ns=''))
     element6 = pb.wrap('element4',
                        pb.field(ns='testns2'),
                        ns_map={'testns2': 'http://www.test22.org'})
Пример #3
0
    class User:
        name = pb.attr()
        surname = pb.attr()
        age = pb.attr(converter=int)

        phone = pb.wrap('contacts', pb.field())
        emails = pb.wrap('contacts', pb.as_list(pb.field(name='email')))

        passport_series = pb.wrap('documents/passport', pb.attr('series'))
        passport_number = pb.wrap('documents/passport', pb.attr('number'))

        occupations = pb.wrap('occupations',
                              pb.lst(pb.nested(Occupation)),
                              ns='data',
                              ns_map={'data': 'http://www.test22.org'})

        citizenship = pb.field(default='RU')
Пример #4
0
class User:
    name = pb.attr()
    surname = pb.attr()
    age = pb.attr(converter=int)

    birth_year = pb.wrap('birthdate', pb.attr('year', converter=int))
    birth_month = pb.wrap('birthdate', pb.attr('month', converter=int))
    birth_day = pb.wrap('birthdate', pb.attr('day', converter=int))

    @property
    def birthdate(self):
        return date(year=self.birth_year,
                    month=self.birth_month,
                    day=self.birth_day)

    @birthdate.setter
    def birthdate(self, value):
        self.birth_year = value.year
        self.birth_month = value.month
        self.birth_day = value.day

    phone = pb.wrap('contacts', pb.field())
    emails = pb.wrap('contacts', pb.as_list(pb.field(name='email')))

    passport_series = pb.wrap('documents/passport', pb.attr('series'))
    passport_number = pb.wrap('documents/passport', pb.attr('number'))

    occupations = pb.wrap('occupations',
                          pb.lst(pb.nested(Occupation)),
                          ns='data',
                          ns_map={'data': 'http://www.test2.org'})

    citizenship = pb.field(default='RU')

    @phone.validator
    def check(self, attribute, value):
        if not re.match(r'\+\d{11,13}', value):
            raise ValueError("phone number is incorrect")
Пример #5
0
 class NestedModel:
     element1 = pb.field()
Пример #6
0
 class TestModel:
     element1 = pb.field()
     element2 = pb.field(default=None)
Пример #7
0
 class TestModel:
     element1 = pb.field()
     element2 = pb.lst(pb.field())
Пример #8
0
 class TestModel:
     field = pb.field(idx=2)
Пример #9
0
 class NestedModel:
     field = pb.field()
Пример #10
0
 class TestModel:
     element1 = pb.field()
     element2 = pb.field()
     element3 = pb.field()
     element4 = pb.field()
Пример #11
0
 class TestModel:
     field = pb.field()
     nested = pb.as_list(pb.nested(Nested))
Пример #12
0
 class TestModel:
     elements = pb.as_list(pb.wrap('wrapper', pb.field('element')))
Пример #13
0
 class TestModel:
     elements = pb.as_list(
         pb.wrap('element1', pb.as_list(pb.field('element2'))))
Пример #14
0
 class NestedModel2:
     element = pb.field()
Пример #15
0
 class TestModel:
     element1 = pb.as_list(pb.field())
Пример #16
0
 class TestExtendedModel(TestBaseModel):
     element2 = pb.field()
Пример #17
0
 class TestBaseModel:
     element1 = pb.field()
Пример #18
0
 class TestModel:
     element = pb.wrap('wrapper', pb.wrap('wrapper', pb.field()))
Пример #19
0
 class TestModel:
     element1 = pb.field()
     element2 = pb.nested(NestedModel, default=None)
Пример #20
0
 class TestModel:
     elem1 = pb.field(name='element1')
     elem2 = pb.field(name='element2')
Пример #21
0
 class TestModel:
     element1 = pb.field()
     element2 = pb.wrap('wrapper1',
                        pb.wrap('wrapper2', pb.field(default=None)))
Пример #22
0
 class TestModel:
     field = pb.field(default=None)
Пример #23
0
 class Nested:
     fields = pb.as_list(pb.field())
Пример #24
0
 class Nested:
     field = pb.field('element')
Пример #25
0
 class TestModel:
     element1 = pb.field()
Пример #26
0
 class TestModel:
     _field1 = pb.field(name='field1')
     __field2 = pb.field(name='field2')
Пример #27
0
 class TestModel:
     element1 = pb.wrap('wrapper1', pb.wrap('wrapper2', pb.field()))
Пример #28
0
 class Occupation:
     title = pb.attr()
     address = pb.field()
     employees = pb.field(converter=int)