Fundamentos de Django

1

¿Qué es Django?

2

¿Cómo instalar Django?

3

Entendiendo la arquitectura de Django

4

Qué es el patrón MVT (Model, View y Template)

La M en el Patrón: Modelo

5

Introducción a Modelos y Bases de Datos

Manejo Avanzado de Modelos y Bases de Datos

6

Gestión de Modelos y Bases de Datos en Django con SQLite

7

Inserción de Datos con Django

8

Actualización y Eliminación de Datos en Django

Relaciones y Asociaciones entre Modelos

9

Creación y Gestión de Relaciones entre Modelos en Django

10

Relaciones Muchos a Muchos (N:N) en Django

11

Relaciones Uno a Uno (1:1) en Django

12

Queries y Filtros en Django: Optimización y Estrategias Avanzadas

Configuración de URLs y Vistas Avanzadas

13

Gestión de URLs en Django: Configuración, Rutas y Mejores Prácticas

14

Vistas Basadas en Clases en Django

La T en el Patrón: Plantillas o Templates

15

Personalización de Interfaz con Plantillas en Django

Desarrollo de Aplicaciones en Django

16

Configuración del Proyectos en Django

17

Creación del Modelo para la Aplicación 'Products' en Django

18

Cómo Crear Migraciones de Datos en Django

19

Creación de la Aplicación 'Products' con Formularios en Django

20

Integracion de TailwindCSS en Django

21

Django Admin

22

Manejo de Sesiones en Django

23

Manejo de Órdenes en CoffeShop

24

Manejo de Pedidos en CoffeShop

25

Mixings en vistas basadas en clases

26

Agregar productos a la orden

Django Rest Framework

27

Django REST Framework

Despliegue de aplicaciones Django

28

Configurar PostgreSQL en AWS con Django

29

Variables de entorno en Django

30

¿Cómo usar Unit Testing en Django?

31

Debugging en Django

32

Desplegar aplicaciones de Django en AWS

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

11 Días
22 Hrs
8 Min
39 Seg
Curso de Django

Curso de Django

Luis Martínez

Luis Martínez

Introducción a Modelos y Bases de Datos

5/32
Recursos

La “M” en el patrón MVC se refiere al Modelo, que es crucial para manejar datos de la base de datos en Django. En lugar de utilizar listas con datos estáticos en las vistas, ahora trabajaremos con datos provenientes del modelo, aprovechando el ORM de Django.

¿Qué es el ORM en Django?

El ORM (Object-Relational Mapping) en Django nos permite definir clases de Python que se relacionan directamente con las tablas de la base de datos. De esta forma, evitamos escribir sentencias SQL, ya que todo se maneja mediante Python.

¿Cómo se define una clase de modelo en Django?

Para definir un modelo, creamos una clase en el archivo models.py. Cada clase de modelo se corresponde con una tabla en la base de datos. Por ejemplo, si definimos la clase Car, esta se convertirá en una tabla con el nombre Car en la base de datos.

¿Qué son las migraciones en Django?

Las migraciones son un sistema que Django usa para aplicar y revertir cambios en la base de datos. Cuando creamos o modificamos un modelo, generamos migraciones que se pueden aplicar para crear o actualizar tablas en la base de datos.

Aplicar una migración

  • Creamos la clase Car con un atributo title.
  • Ejecutamos la migración hacia adelante para crear la tabla Car en la base de datos.
  • Si agregamos un campo year a la clase Car, otra migración aplicará este cambio a la tabla.

Revertir una migración

  • Si es necesario, podemos revertir una migración para volver al estado anterior de la tabla.
  • Por ejemplo, al revertir la migración del campo year, la tabla Car quedará como antes de agregar dicho campo.

¿Cómo permite Django ser independiente del motor de base de datos?

Django ORM es compatible con varios motores de base de datos. En este curso, utilizaremos SQLite para ejemplos iniciales y PostgreSQL para el proyecto final.

Aportes 6

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Los ORMs son tecnologías que nos permiten gestionar nuestra base de datos, en todo el sentido de la palabra. No importa que tipo de motor de base de datos tenemos. Por medio del ORM, todo lo gestionamos igual, como por ejemplo: * La estructura de nuestra base de datos, creación de tablas o vistas. * Gestión de datos, escritura, edición... (CRUD) Sin embargo, en ocasiones se puede escribir código SQL directamente por medio del ORM (en casos donde las queries son complejas). Conceptos que debemos tener en cuenta, como: Migraciones: Scripts que describen cambios en la estructura de la base de datos, permitiendo versionarla y modificarla de forma controlada. * **Semillas (Seeds)**: Datos iniciales que se insertan en la base de datos para pruebas o configuración inicial. * **Modelos**: Clases que representan tablas de la base de datos en el código orientado a objetos. * **Consultas (Queries)**: Operaciones para recuperar, filtrar o manipular datos usando métodos del ORM en lugar de SQL directo. * **Relaciones**: Conexiones entre modelos que reflejan las relaciones entre tablas (uno a uno, uno a muchos, muchos a muchos). * **Validaciones**: Reglas definidas en los modelos para asegurar la integridad de los datos antes de guardarlos. * **Callbacks**: Métodos que se ejecutan automáticamente en ciertos momentos del ciclo de vida de un objeto (antes o después de guardar, eliminar, etc.). * **Eager Loading**: Técnica para cargar datos relacionados en una sola consulta, evitando el problema N+1. * **Transacciones**: Operaciones que agrupan múltiples cambios en la base de datos, asegurando que se realicen todos o ninguno. * **Índices**: Estructuras de la base de datos que mejoran la velocidad de las consultas, definidas a través del ORM. * Herencia: Capacidad de los modelos de heredar atributos y comportamientos de otros modelos. * Migraciones reversibles: Migraciones que pueden deshacerse, permitiendo volver a un estado anterior de la base de datos.
## ¿Qué es el ORM en Django? El ORM (Object-Relational Mapping) en Django nos permite definir clases de Python que se relacionan directamente con las tablas de la base de datos. De esta forma, evitamos escribir sentencias SQL, ya que todo se maneja mediante Python.
El ORM de Django ![](https://cdn.hashnode.com/res/hashnode/image/upload/v1689555022980/c64b93b7-52d1-4281-ae82-1c87cf6b41c8.png) Actúa como un puente entre tu código en Python y la base de datos. Abstrae el sistema de gestión de bases de datos subyacente, permitiendo a los desarrolladores interactuar con las bases de datos utilizando clases y métodos en Python. Esta abstracción minimiza la necesidad de escribir consultas SQL en bruto, haciendo que el código sea más legible, mantenible y seguro. Características clave del ORM de Django: * **Modelos**: En Django, un modelo es una clase de Python que **representa una tabla de base de datos.** Los desarrolladores definen modelos especificando campos y sus tipos de datos. Estos modelos se utilizan para crear automáticamente tablas en la base de datos. * **QuerySet**: El ORM de Django proporciona QuerySets, que son una **abstracción de alto nivel para realizar consultas en la base de datos**. Con los QuerySets, puedes filtrar, ordenar y agregar datos de la base de datos utilizando una sintaxis propia de Python. * **Migraciones**: El ORM de Django incluye un poderoso sistema de migraciones que te permite evolucionar el esquema de la base de datos con el tiempo. Las migraciones **generan automáticamente sentencias SQL para crear o modificar tablas de la base de datos**, facilitando la sincronización del esquema de la base de datos con el código. * **Relaciones**: El ORM de Django admite varios tipos de **relaciones entre modelos**, como uno a uno, muchos a uno, y muchos a muchos. Estas relaciones te permiten representar estructuras de datos complejas en tu base de datos y consultarlas sin esfuerzo. * **Independencia de la base de datos**: El ORM de Django es independiente de la base de datos, lo que significa que puedes cambiar entre sistemas de bases de datos compatibles (por ejemplo, PostgreSQL, MySQL, SQLite) sin necesidad de modificar significativamente tu código.
Hola!..deben corregir el error en el resumen, no es MVC sino MVT. Saludos!
## ORM significa Objetc-Relational Mapping, y es una técnica que permite manipular datos en una base de datos relacional mediante Programación Orientada a Objetos (OOP). Actúa como un puente entre nuestro código en Python y la base de datos. Abstrae el sistema de gestión de base de datos subyacente, permitiendo a los desarrolladores interactuar con las bases de datos utilizando clases y métodos en Python. Nos permite definir clases en Python que se relacionan directamente con las tablas de las bases de datos. El ORM de Django utiliza en patrón de registro activo: * Una clase se asigna a una sola tabla en la base de datos, la clase se denomina clase modelo. * Un objeto de la clase se asigna a una sola sola fila de la tabla. Una vez definida nuestra clase modelo podemos acceder a métodos para crear, leer, actualizar y eliminar datos.
### Ventajas del ORM * **Simplicidad**: El código es más legible y fácil de mantener, ya que no necesitas escribir SQL explícito. Las consultas se construyen usando métodos y atributos de los objetos. * **Portabilidad**: El ORM hace que la aplicación sea menos dependiente de un motor específico de base de datos, facilitando cambios futuros sin modificaciones significativas en el código. * **Manejo de relaciones**: Con el ORM, es muy fácil manejar relaciones entre tablas (uno a muchos, muchos a muchos, uno a uno) sin tener que escribir SQL complejo. * **Seguridad**: El ORM ayuda a proteger contra inyecciones SQL, ya que construye consultas SQL de manera segura al escaparse automáticamente los parámetros. ### Desventajas del ORM * **Rendimiento**: Aunque el ORM facilita el trabajo, en ciertos casos complejos puede ser menos eficiente que escribir consultas SQL optimizadas manualmente. * **Curva de aprendizaje**: Aunque es más sencillo que SQL para operaciones básicas, aprender a usar el ORM eficientemente en casos complejos puede ser desafiante.