Python - Tortoise

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 asyncpg
import os
from dotenv import load_dotenv
from tortoise import Tortoise
# Load environment variables from a .env file (if you're using one)
load_dotenv()
# Fetch username and password from environment variables
DB_USERNAME = os.getenv('DB_USERNAME')
DB_PASSWORD = os.getenv('DB_PASSWORD')
# Define the database connection using environment variables
DATABASE_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()

Pending

Tortoise Guia principiants