Sesiones en Python
Una Session es una unidad de trabajo: agregar, hacer flush, confirmar o revertir.
from sqlalchemy import create_engine
from sqlalchemy.orm import DeclarativeBase, Mapped, Session, mapped_column
class Base(DeclarativeBase):
pass
class Run(Base):
__tablename__ = "runs"
id: Mapped[int] = mapped_column(primary_key=True)
lang: Mapped[str]
tpm: Mapped[float]
motor = create_engine("sqlite+pysqlite:///:memory:")
Base.metadata.create_all(motor)
with Session(motor) as sesion:
sesion.add_all([Run(lang="python", tpm=104.0), Run(lang="rust", tpm=98.0)])
sesion.commit()
traido = sesion.get(Run, 1)
print(traido.lang, traido.tpm)
traido.tpm = 110.0
sesion.commit()
print(sesion.get(Run, 1).tpm)
Cómo funciona
addprepara un objeto;commitescribe y lo expira.Session.getbusca por clave primaria.- El administrador de contexto cierra la sesión al salir.
Palabras clave y builtins usados aquí
asclassfloatidintpassprintstrwith
El intento, en números
- Líneas
- 27
- Caracteres a escribir
- 612
- Tokens
- 163
- Ritmo de tres estrellas
- 110 tpm
Al ritmo de tres estrellas de 110 tokens por minuto, este intento toma unos 89 segundos.
Paso 3 de 5 en SQLAlchemy; paso 15 de 19 en Servicios web y acceso a datos.