class Person(models.Base): name = fields.StringField(required=True) surname = fields.StringField(required=True) age = fields.IntField() kids = fields.ListField(Kid) car = fields.EmbeddedField(Car)
class Person(models.Base): name = fields.StringField(required=True, validators=[validator1, validator2]) surname = fields.StringField(required=True) age = fields.IntField(validators=validator3) cash = fields.FloatField()
class Person(models.Base): name = fields.StringField(default="John Doe") age = fields.IntField(default=18) pet = fields.EmbeddedField(Pet, default=Pet(kind="Cat")) nicknames = fields.ListField(items_types=(str, ), default=["yo", "dawg"]) profession = fields.StringField(default=None)
class Person(models.Base): name = fields.StringField(required=True) surname = fields.StringField(required=True) age = fields.IntField() car = fields.EmbeddedField([Viper, Lamborghini]) computer = fields.ListField([PC, Laptop, Tablet])
def test_only_subset_of_names_is_accepted(): with pytest.raises(ValueError): fields.StringField(name='totally wrong name') with pytest.raises(ValueError): fields.StringField(name='wrong!') with pytest.raises(ValueError): fields.StringField(name='~wrong')
class Kid(models.Base): name = fields.StringField(required=True) surname = fields.StringField(required=True) age = fields.IntField() toys = fields.ListField(Toy) def __init__(self, some_value): pass
class Person2(models.Base): name = fields.StringField() surname = fields.StringField() age = fields.IntField() def __str__(self): return self.name
class Person(models.Base): name = fields.StringField(required=True) surname = fields.StringField(required=True) age = fields.IntField() kids = fields.ListField(Kid) car = fields.EmbeddedField(Car) def __init__(self, some_value): pass
def test_get_field(): name_field = fields.StringField() surname_field = fields.StringField() age_field = fields.IntField() class Person(models.Base): name = name_field surname = surname_field age = age_field alan = Person() assert alan.get_field('name') is name_field assert alan.get_field('surname') is surname_field assert alan.get_field('age') is age_field
class Person(models.Base): name = fields.StringField(default=default_name) age = fields.IntField(default=default_age) height = fields.FloatField(default=default_height) job = fields.EmbeddedField(Job, default=default_job) hobbies = fields.ListField(items_types=str, default=default_hobbies) last_ate = fields.TimeField(default=default_last_ate) birthday = fields.DateField(default=default_birthday) time_of_death = fields.DateTimeField(default=default_time_of_death)
class Dog(models.Base): name = fields.StringField(required=True) age = fields.IntField()
class Cat(models.Base): name = fields.StringField(required=True) breed = fields.StringField()
class Person(models.Base): name = fields.StringField() mix = fields.ListField((str, float))
class Person(models.Base): name = fields.StringField(required=True) surname = fields.StringField(required=True) age = fields.IntField() cash = fields.FloatField()
class Person(models.Base): names = fields.ListField(str) surname = fields.StringField()
class Human(models.Base): name = fields.StringField() pet = fields.EmbeddedField(Pet, name='owned-pet')
class Tablet(models.Base): name = fields.StringField() os = fields.StringField()
class Product(models.Base): brand = fields.StringField(name='description') description = fields.StringField(name='product_description')
class Lamborghini(models.Base): serial = fields.StringField()
class ParkingPlace(models.Base): location = fields.StringField() car = fields.EmbeddedField(Car)
class Car(models.Base): brand = fields.StringField(required=True) registration = fields.StringField(required=True) def __init__(self, some_value): pass
class PC(models.Base): name = fields.StringField() ports = fields.StringField()
class Person(models.Base): name = fields.StringField(required=True) surname = fields.StringField(required=True) pets = fields.ListField(items_types=[Cat, Dog])
class Pet(models.Base): name = fields.StringField(required=True, name='pets_name') age = fields.IntField()
class Car(models.Base): brand = fields.StringField()
class Laptop(models.Base): name = fields.StringField() battery_voltage = fields.FloatField()
class Viper(models.Base): serial = fields.StringField()
class OtherHuman(models.Base): name = fields.StringField(name='surname') surname = fields.StringField(name='name')
class Parking(models.Base): location = fields.StringField() cars = fields.ListField([Viper, Lamborghini])
class Human(models.Base): name = fields.StringField() surname = fields.StringField(name='second-name')