Documentación

Bienvenido a la documentación de PanCakesORM. Veras que el uso de esta librería es fácil e intuitiva. PanCakesORM fue pensado para conservar la sintaxis SQL.

Instalación

Con tu entorno virtual activado únicamente debes correr desde tu terminal el comando:

pip install pancakes-orm

Inicio Rápido

PanCakesORM depende de 3 módulos principales:

Crea tu primera tabla

PanCakesORM no requiere que indiques una base de datos. Por defecto creara una carpeta en tu proyecto con el nombre data/my_app_database.sqlite.

.
└── tu_proyecto/
    ├── .venv
    ├── app.py
    └── data/
        └── my_app_database.sqlite # Ruta Por defecto.

Modelo PanCakesORM código

from pancakes.cook.mold import PanCakesORM
from pancakes.datatype import sql_datatype

# Declarar una tabla:
class User(PanCakesORM):
	# '_table' asigna el nombre de la tabla en la base de datos
	# sin el atributo table obtendras un Exception.
	_table = 'user'
	
	# Declarar columnas en la tabla:
	name = sql_datatype.Char(comment='Name', nls=False)
	age = sql_datatype.Int(comment='Age', nls=False)
	weight = sql_datatype.Float(comment='Weight', nls=False)
	sign_up_date = sql_datatype.Text(comment='Sign Up Date', nls=False)
	# Tambien existen los datos ForeignKey() y Bool().
	# El argumento comment permite guardar en la columna alguna
	# Etiqueta de descrripcion que podras usar en tu frontend
	# 'nls' = 'NOT NULL'. Para activarlo, declararlo en True.

Ruta personalizada

Si quieres modificar tus rutas, puedes proveer rutas Path de directorio y de fichero sqlite a través de los atributos _db*_*dir y _db_file. Tomando el ejemplo anterior pero con diferentes rutas:

from pancakes.cook.mold import PanCakesORM
from pancakes.datatype import sql_datatype
from pathlib import Path

MY_DIR = Path('/home/user/projects/personal')
MY_FILE = MY_DIR / 'personal_database.sqlite'
# Si quieres a puntar a tu directorio actual de proyecto, puedes:
# MY_DIR = Path.cwd()

# Declarar una tabla:
class User(PanCakesORM):
	_table = 'user'
	
	# Declara rutas:
	# PanCakesORM creara ambos si no existen.
	_db_dir = MY_DIR
	_db_file = MY_FILE
	
	# Declarar columnas en la tabla:
	name = sql_datatype.Char(comment='Name', nls=False))
	age = sql_datatype.Int(comment='Age', nls=False))
	weight = sql_datatype.Float(comment='Weight', nls=False))
	sign_up_date = sql_datatype.Text(comment='Sign Up Date', nls=False)

PanCakesORM A Fondo

Clase PanCakesORM código