Este repositorio contiene un proyecto desarrollado en Python con el framework Django, enfocado en el diseño, estructuración e implementación avanzada de la capa de acceso a datos. El objetivo principal de este desarrollo es demostrar el dominio del ORM de Django para realizar consultas complejas, filtrados dinámicos y manipulación eficiente de modelos relacionales, minimizando el impacto en el rendimiento de la base de datos.
- Consultas Avanzadas con ORM: Reemplazo de consultas SQL crudas por lógica orientada a objetos mediante el ORM de Django, garantizando seguridad contra inyecciones SQL.
- Filtrado y Agregación Dinámica: Implementación de consultas con filtros específicos (
filter(),exclude()) y funciones de agregación para procesar volúmenes de datos en el servidor. - Optimización de Consultas: Uso de buenas prácticas para evitar el problema común de las consultas redundantes (ej. control de consultas perezosas o lazy loading).
- Integración con la Capa de Negocio: Conexión directa entre los modelos de datos y las vistas o controladores para despachar información estructurada al cliente final.
- Lenguaje de Programación: Python 3.x
- Framework Backend: Django 4.x / 5.x
- Capa de Persistencia: Django ORM
- Base de Datos: PostgreSQL.
El desarrollo aborda el desafío de interactuar con el motor de almacenamiento de manera eficiente y segura:
- Abstracción del Acceso a Datos: Se estructuraron los modelos definiendo índices y relaciones adecuadas para asegurar que la búsqueda y recuperación de registros sea óptima.
- Lógica de Consultas Reutilizable: Implementación de métodos de filtrado optimizados directamente en la lógica del backend para mantener los controladores limpios y legibles (Fat Models, Skinny Views).
- Manejo de Transacciones Seguro: Operaciones de lectura y escritura estructuradas para mantener la consistencia de los registros en la base de datos usando transacciones atómicas.
Sigue estos pasos para configurar el entorno de pruebas localmente:
-
Clonar el repositorio:
git clone [https://github.com/longaresf/django-orm-data-access.git](https://github.com/longaresf/django-orm-data-access.git)
-
Ingresar al directorio: Bash cd django-orm-data-access
-
Configurar el entorno virtual e instalar requerimientos: Bash python -m venv venv source venv/bin/activate # En Windows usa: venv\Scripts\activate pip install -r requirements.txt
-
Sincronizar el esquema de la base de datos: Bash python manage.py makemigrations python manage.py migrate
-
Ejecutar la aplicación en el servidor local: Bash python manage.py runserver
✒️ Créditos y Autoría
Francisco Longares - Desarrollador Backend Python - longaresf
Este proyecto fue desarrollado para resolver las evaluaciones técnicas avanzadas sobre manipulación y optimización de la capa de datos dentro del programa Full Stack Python de Desafío Latam.