On this page
Introducció
- A lightweight Object Relational Mapper (ORM) for Python.
- Built with asyncio support for high-performance applications.
- Simple syntax and seamless integration with Python’s async features.
Què és un ORM?
Un ORM (Object-Relational Mapper) és una capa d’abstracció que permet treballar amb les bases de dades relacionals a un alt nivell, utilitzant un model orientat a objectes enlloc de consultes SQL. D’aquesta manera:
- Evita utilitzar SQL permetent un codi més net i llegible.
- Ajuda a prevenir la injecció SQL amb consultes parametritzades
- Les definicions centralitzades d’esquemes i relacions faciliten la gestió del model de dades
- Gestiona els canvis d’esquema mitjançant migracions controlades per version
Object-Relational Mapping Explained for Beginners
Instal·lació
uv add tortoise-orm asyncpgimport osfrom dotenv import load_dotenvfrom tortoise import Tortoise
# Load environment variables from a .env file (if you're using one)load_dotenv()# Fetch username and password from environment variablesDB_USERNAME = os.getenv('DB_USERNAME')DB_PASSWORD = os.getenv('DB_PASSWORD')# Define the database connection using environment variablesDATABASE_CONFIG = { "connections": { "default": f"postgres://{DB_USERNAME}:{DB_PASSWORD}@localhost:5432/tortoise_demo" }, "apps": { "models": { "models": ["__main__"], "default_connection": "default", }, },}
async def init():
await Tortoise.init(config=DATABASE_CONFIG) await Tortoise.generate_schemas()