Skip to content

jtemporal/schematics-tutorial

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Tutorial Schematics

Instalação

$ pip install schematics

Exemplos

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 😉

Exemplo 1: Validação

Commit: 1949e50

from models import Pessoa
jess = Pessoa()
jess.nome = "Jess"
jess.idade = "42"
jess.linguagens = ["Python", "R", "Go"]
jess.validate() == None

Exemplo 2: DataError

Commit: 1949e50

from models import Pessoa
jess = Pessoa()
jess.nome = "Jess"
jess.idade = "4p2"
jess.linguagens = ["Python", "R", "Go"]
jess.validate()

Exemplo 3: Usando dicionários

Commit: 1949e50

from models import Pessoa
data = {
    "idade": "42",
    "nome": "Jess",
    "linguagens": [
        "Python",
        "Go",
        "R"
    ]
}
jess = Pessoa(data)

Exemplo 4: DataError usando dicionários

Commit: 1949e50

from models import Pessoa
data = {
    "idade": "4p2",
    "nome": "Jess",
    "linguagens": ["Python", "R", "Go"]
}
jess = Pessoa(data)

Exemplo 5: Serializando antes

Commit: 1949e50

from models import Pessoa
jess = Pessoa()
jess.nome = "Jess"
jess.to_native()

Exemplo 6: Serializando depois

Commit: 1bf5445

from models import Pessoa
jess = Pessoa()
jess.nome = "Jess"
jess.to_native()

Exemplo 7: Rogue field

Commit: 1bf5445

from models import Pessoa
data = {
    "name": "Jess"
}
jess = Pessoa(data)

Exemplo 8: Deserializando

Commit: 9898782

from models import Pessoa
data = {
    "name": "Jess",
    "age": "42",
    "lang": [
        "Python",
        "Go",
        "R"
    ]
}
jess = Pessoa(data)

Exemplo 9: Reserializando antes

Commit: 9898782

from models import Pessoa
data = {
    "name": "Jess",
    "age": "42",
    "lang": [
        "Python",
        "Go",
        "R"
    ]
}
jess = Pessoa(data)
jess.to_native()

Exemplo 10: Reserializando depois

Commit: 2beeea6

from models import Pessoa
data = {
    "name": "Jess",
    "age": "42",
    "lang": [
        "Python",
        "Go",
        "R"
    ]
}
jess = Pessoa(data)
jess.to_native()

Exemplo 11: Definindo tipos

Commit: ecf3a67

from models import Pessoa
jess = Pessoa()
jess.nome = "Jess"
jess.idade = 4242
jess.validate()

Exemplo 12: Pessoa tem cachorrinho

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)

Exemplo 13: Cachorrinho

Commit: 923923a

from models import Cachorrinho
data = {
    "name": "cora",
    "fur": "preta"
}
dog = Cachorrinho(data)

Exemplo 14: Validadores - tipo

Commit: 9c3e573

from models import Pessoa
data = {
    "name": "Jess",
    "lang": ["Java"]
}
jess = Pessoa(data)
jess.validate()

Exemplo 15: Validadores - modelo DataError

Commit: b866fd0

from models import Cachorrinho
data = {
    "name": "cora",
    "fur": "preta"
}
dog = Cachorrinho(data)
dog.validate()

Exemplo 16: Validadores - modelo

Commit: b866fd0

from models import Cachorrinho
data = {
    "name": "Cora",
    "fur": "preta"
}
dog = Cachorrinho(data)
dog.validate()

About

vai ter post, qnd tiver no ar coloco o link aqui ;)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages