-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Melhora da API #8
Comments
No caso em que o usuário quer saber os erros do request, a solução continua sendo usar o Fica difícil de tratar os erros no lazyload. >>> e = postmon.Endereco('11111-111')
>>> e.logradouro
None Deu erro ou o CEP não tem >>> e1.postmon.Endereco('11111-111', lazy=False)
>>> if e2._ok:
... # objeto carregado
>>> e1.postmon.Endereco('11111-111')
>>> if e2.buscar():
... # objeto carregado Outra opção é usar um classmethod para fazer o carregamento ao invés de uma função externa, mas aí complica o caso de uso mais comum: >>> e = postmon.Endereco.buscar('11111-111') A solução mais simples talvez seja só renomear as funções do módulo e continuar com os comportamentos atuais: >>> e = postmon.buscar_endereco('11111-111') Se alguém ler isso e quiser dar opinião, agradeço. Escrevi para documentar minha cabeça, não defini as mudanças. Qualquer quebra de compatibilidade só vai acontecer na versão 1.0. |
Eu usei no PostmonGo o nome Inicialmente eu tinha, também, colocado Endereco, mas ai achei estranho e fiz uma busca interna (eu comigo e eu mesmo, rsrs) e perguntei a algumas pessoas aleatórias: Enfim, meus 2 cents :P |
O Fiquei com medo de ficar tudo |
A API atual é confusa, fácil de trocar
postmon.Endereco
epostmon.endereco
.Uma opção é deixar só a classe, adicionando um kwarg
lazy
para identificar se é pra buscar já na inicialização da classe. Talvez fazer a busca automaticamente quando uma propriedade não carregada for buscada.O comportamento padrão seria carregar só quando acessar alguma propriedade (ou quando chamar o
buscar
), já que hoje o comportamento é semelhante.O SQLAlchemy tem solução parecida para a busca de relações. O
relationship
tem um argumentolazy
.http://docs.sqlalchemy.org/en/rel_0_7/orm/relationships.html#sqlalchemy.orm.relationship
Preciso de um nome pt-br equivalente pra
lazy
ou de outras alternativas para a API.The text was updated successfully, but these errors were encountered: