TurboGears - SQLAlchemy

Aunque es posible usar SQL en la aplicación TurboGears para realizar operaciones CRUD en cualquier base de datos relacional, es recomendable usar SQLAlchemy, un kit de herramientas de Python es un poderoso asignador de relaciones de objetos que brinda a los desarrolladores de aplicaciones todo el poder y la flexibilidad de SQL. Además de la compatibilidad con bases de datos basadas en SQL a través de SQLAlchemy, TurboGears también admite la base de datos MongoDB a través de Ming. En esta sección, se analiza la funcionalidad de SQLAlchemy.

¿Qué es ORM (mapeo relacional de objetos)?

La mayoría de las plataformas de lenguajes de programación están orientadas a objetos. Los datos en los servidores RDBMS, por otro lado, se almacenan como tablas. El mapeo de relaciones de objetos es una técnica de mapeo de parámetros de objetos a la estructura de la tabla RDBMS subyacente. Una API ORM proporciona métodos para realizar operaciones CRUD sin tener que escribir declaraciones SQL sin procesar.

Cuando se crea un proyecto de TurboGears usando el comando 'inicio rápido' del kit de herramientas de la caja de engranajes, el soporte de SQLAlchemy está habilitado de manera predeterminada por los siguientes ajustes de configuración:

config['use_sqlalchemy'] = True
config['sqlalchemy.url'] = 'sqlite:///devdata.db'

El proyecto de 'inicio rápido' también crea un paquete de modelos dentro de él. Por ejemplo, un proyecto 'Hello' tendrá modelo Hello \ hello \. Los siguientes archivos se crean en este paquete:

  • __init__.py- Aquí es donde se configura el acceso a la base de datos. Los objetos del modelo de la aplicación se importan en este módulo. También tiene una DBSession - un administrador de sesión global y también una DeclarativeBase, que es una clase base para todas las clases modelo.

  • auth.py- Aquí es donde se definen los modelos utilizados por la pila de autenticación. Los modelos de base de datos adicionales se almacenan en este paquete, como un módulo separado, y se agregan en __init__.py.