Vino no es ORM. Sí, es cierto, no es ORM.
Empieza
Una vista rápida con Vino:
# Configurar
# Db = Vino ('motor: // usuario: password @ host: puerto / base de datos')
db = Vino ('sqlite: //db.sqlite')
# Consulta
db.table ("usuario"). find (username = 'lepture'). fetch ()
# Crear
db.table ("usuario") crear. (username = 'lepture', página web = 'http: //lepture.com')
db.commit ()
# Update
db.table ("usuario"). find (username = 'lepture'). update (username = 'Hsiaoming Yang')
db.commit ()
# Eliminar
db.table ("usuario"). find (username = 'lepture'). delete ()
db.commit ()
Configuración
Sólo apoyaremos sqlite3 y mysql por ahora.
SQLite
SQLite con ruta relativa:
db = Vino ('sqlite: //relative/path/db.sqlite')
SQLite con ruta absoluta:
db = Vino ('sqlite: ///root/path/db.sqlite')
Tenga en cuenta, que es diferente de SQLAlchemy.
MySQL
MySQL con toda la información:
db = Vino ('mysql: // lepture: 123456 @ localhost: 3306 / test')
MySQL con menos información:
db = Vino ('mysql: // lepture @ localhost / test')
El puerto por defecto es 3306.
Tenga en cuenta, es utf8 por defecto.
Consulta strong>
Encuentra todos los datos:
db.table ("usuario"). fetch ()
Buscar todos los datos que se especifican:
db.table ("usuario"). find (username = 'lepture'). fetch ()
Encuentra los primeros datos:
# Zona de alcance 1 no se devolverá una lista
db.table ("usuario"). find (username = 'lepture'). fetch (1)
Limite de consulta:
db.table ("usuario"). find (username = 'lepture'). fetch (5, offset = 3)
Múltiples filtros:
db.table ("usuario"). find (username = 'lepture', edad = 20) .fetch ()
Los filtros avanzados:
# Como Django
db.table ("usuario"). find (age__in = [20, 22]). fetch ()
db.table ("usuario"). find (age__gt = 20) .fetch ()
db.table ("usuario"). find (age__lt = 20) .fetch ()
db.table ("usuario"). find (age__gte = 20) .fetch ()
db.table ("usuario"). find (age__lte = 20) .fetch ()
# Más documentación sede
Más filtros avanzados:
db.table ("usuario"). find (age__ne = 20) .fetch () # no igual
db.table ("usuario"). find (age__nin = [20, 22]). fetch () # no en
# Más documentación sede
Para consultas:
. db.table ("usuario") encontrar (edad = 20) .order ('- id'). fetch ()
Eliminar
Eliminar todos los datos:
db.table ("usuario"). delete ()
db.commit ()
Eliminar datos especificado:
db.table ("usuario"). find (username = 'lepture'). delete ()
db.commit ()
Requisitos :
- Python
Comentarios que no se encuentran