Vino não é ORM. Sim, é verdade, não é ORM.
Introdução
Uma visão rápida com Vino:
# Estabelecer
# Db = Vino ("motor: // usuário: passwd @ host: port / banco de dados ')
db = Vino ('sqlite: //db.sqlite')
# Consulta
db.table ('user'). encontrar (username = 'lepture'). fetch ()
# Criar
db.table ('user') criar. (username = 'lepture', website = 'http: //lepture.com')
db.commit ()
# Update
db.table ('user'). encontrar (username = 'lepture'). update (username = 'Hsiaoming Yang')
db.commit ()
# Deleta
db.table ('user'). encontrar (username = 'lepture'). delete ()
db.commit ()
Configuração
Nós só apoiará sqlite3 e mysql por agora.
SQLite
SQLite com caminho relativo:
db = Vino ('sqlite: //relative/path/db.sqlite')
SQLite com caminho absoluto:
db = Vino ('sqlite: ///root/path/db.sqlite')
Por favor note, que é diferente de SQLAlchemy.
MySQL
MySQL com todas as informações:
db = Vino ('mysql: // lepture: 123456 @ localhost: 3306 / test')
MySQL com menos informações:
db = Vino ('mysql: // lepture @ localhost / test')
Porta padrão é 3306.
Por favor, note, é utf8 por padrão.
Consulta strong>
Encontre todos os dados:
db.table ('user'). fetch ()
Encontre todos os dados especificados:
db.table ('user'). encontrar (username = 'lepture'). fetch ()
Encontre os primeiros dados:
# Buscar 1 não irá retornar uma lista
db.table ('user'). encontrar (username = 'lepture'). fetch (1)
Limite de consulta:
db.table ('user'). encontrar (username = 'lepture'). fetch (5, offset = 3)
Vários filtros:
db.table ('user'). encontrar (username = 'lepture', idade = 20) .fetch ()
Filtros avançados:
# Apenas como Django
db.table ('user'). find (age__in = [20, 22]). fetch ()
db.table ('user'). find (age__gt = 20) .fetch ()
db.table ('user'). find (age__lt = 20) .fetch ()
db.table ('user'). find (age__gte = 20) .fetch ()
db.table ('user'). find (age__lte = 20) .fetch ()
# Mais documentação see
Filtros mais avançados:
db.table ('user'). find (age__ne = 20) .fetch () # não é igual
db.table ('user'). find (age__nin = [20, 22]). fetch () # não em
# Mais documentação see
Ordem Inquérito:
. db.table ('user') encontrar (idade = 20) .order ('- id'). fetch ()
Excluir
Excluir todos os dados:
db.table ('user'). delete ()
db.commit ()
Apagar dados especificados:
db.table ('user'). encontrar (username = 'lepture'). delete ()
db.commit ()
Requisitos :
- Python
Comentários não encontrado