$ pip install schematics
- Exemplo 1: Validação
- Exemplo 2: DataError
- Exemplo 3: Usando dicionários
- Exemplo 4: DataError usando dicionários
- Exemplo 5: Serializando antes
- Exemplo 6: Serializando depois
- Exemplo 7: Rogue field
- Exemplo 8: Deserializando
- Exemplo 9: Reserializando antes
- Exemplo 10: Reserializando depois
- Exemplo 11: Definindo tipos
- Exemplo 12: Pessoa tem cachorrinho
- Exemplo 13: Cachorrinho
- Exemplo 14: Validadores - tipo
- Exemplo 15: Validadores - modelo DataError
- Exemplo 16: Validadores - modelo
Logo após o título de cada exemplo, eu coloquei também a parte inicial do hash do commit que você pode utilizar para "pular" para a versão dos arquivos de forma mais fácil 😉
Commit: 1949e50
from models import Pessoa
jess = Pessoa()
jess.nome = "Jess"
jess.idade = "42"
jess.linguagens = ["Python", "R", "Go"]
jess.validate() == None
Commit: 1949e50
from models import Pessoa
jess = Pessoa()
jess.nome = "Jess"
jess.idade = "4p2"
jess.linguagens = ["Python", "R", "Go"]
jess.validate()
Commit: 1949e50
from models import Pessoa
data = {
"idade": "42",
"nome": "Jess",
"linguagens": [
"Python",
"Go",
"R"
]
}
jess = Pessoa(data)
Commit: 1949e50
from models import Pessoa
data = {
"idade": "4p2",
"nome": "Jess",
"linguagens": ["Python", "R", "Go"]
}
jess = Pessoa(data)
Commit: 1949e50
from models import Pessoa
jess = Pessoa()
jess.nome = "Jess"
jess.to_native()
Commit: 1bf5445
from models import Pessoa
jess = Pessoa()
jess.nome = "Jess"
jess.to_native()
Commit: 1bf5445
from models import Pessoa
data = {
"name": "Jess"
}
jess = Pessoa(data)
Commit: 9898782
from models import Pessoa
data = {
"name": "Jess",
"age": "42",
"lang": [
"Python",
"Go",
"R"
]
}
jess = Pessoa(data)
Commit: 9898782
from models import Pessoa
data = {
"name": "Jess",
"age": "42",
"lang": [
"Python",
"Go",
"R"
]
}
jess = Pessoa(data)
jess.to_native()
Commit: 2beeea6
from models import Pessoa
data = {
"name": "Jess",
"age": "42",
"lang": [
"Python",
"Go",
"R"
]
}
jess = Pessoa(data)
jess.to_native()
Commit: ecf3a67
from models import Pessoa
jess = Pessoa()
jess.nome = "Jess"
jess.idade = 4242
jess.validate()
Commit: 923923a
from models import Pessoa
data = {
"name": "Jess",
"age": "42",
"lang": ["Python", "R", "Go"],
"pets": [
{"name": "cora", "fur": "preta"},
{"name": "channel", "fur": "branca"}
]
}
jess = Pessoa(data)
Commit: 923923a
from models import Cachorrinho
data = {
"name": "cora",
"fur": "preta"
}
dog = Cachorrinho(data)
Commit: 9c3e573
from models import Pessoa
data = {
"name": "Jess",
"lang": ["Java"]
}
jess = Pessoa(data)
jess.validate()
Commit: b866fd0
from models import Cachorrinho
data = {
"name": "cora",
"fur": "preta"
}
dog = Cachorrinho(data)
dog.validate()
Commit: b866fd0
from models import Cachorrinho
data = {
"name": "Cora",
"fur": "preta"
}
dog = Cachorrinho(data)
dog.validate()