Peewee, un ORM para Python
Estoy acostumbrándome a usar Django para casi todo, y su ORM para acceder a la base de datos. Es muy completo y permite evitar tener que escribir SQL a mano, añadiendo la posibilidad de cambiar de motor de base de datos sin que sea traumático.
Sin embargo, a veces necesito guardar cosas en disco desde programas de línea de órdenes, y no me parece bien depender de Django para algo así. En estos casos suelo usar Shelve, de la librería estándar, pero no es lo suficientemente versátil: no admite concurrencia.
En este post voy a explicar cómo utilizar Peewee como ORM.
Peewee
Lo primero que me llamó la atención de Peewee es la documentación, ya que su Quickstart es sencillo de entender y va al grano.
Veamos un ejemplo mínimo (sacado del Quickstart):
|
|
Resulta fácil de leer, ¿verdad?
En este caso se crea una tabla Person
. Vamos a conectarnos y a crear algunos datos:
|
|
Como veis, conectamos a la base de datos, se crean las bases de datos (el safe
permite evitar un error si las tablas ya existen) y se crea una entrada.
Vamos ahora a corregir la fecha de nacimiento:
|
|
Simple y claro.
SGBD
Peewee soporta distintos SGBD, es decir, Sistemas Gestores de Bases de Datos (en inglés, DBMS, de Database Management Systems). Desgraciadamente sólo soporta tres, pero suelen ser los más habituales: SQLite, MySQL y Postgresql. Basta con cambiar la declaración inicial de db
y está hecho.
pwiz
Por si no fuera ya bastante molón de por sí, incluye pwiz
, que es un programa que permite obtener los modelos Peewee a partir de la base de datos:
|
|