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

Convierte tus certificados en títulos universitarios en USA

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

19 Días
5 Hrs
5 Min
21 Seg
Curso de Django

Curso de Django

Luis Martínez

Luis Martínez

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

6/32
Recursos

La migración de modelos en Django es un proceso fundamental para mantener la base de datos en sincronía con las clases del proyecto. Este artículo explora el uso de comandos para migrar modelos en Django, específicamente cómo manejar la migración de un modelo llamado “carro”.

¿Cómo identificar migraciones pendientes en Django?

Al ejecutar el comando python manage.py runserver, puedes encontrar un error que indica migraciones pendientes. Este mensaje significa que las tablas correspondientes a tus clases de Django no están creadas en la base de datos, lo que impide el correcto funcionamiento del proyecto.

¿Cómo crear migraciones en Django?

Para crear migraciones, usa el comando python manage.py makemigrations. Este comando genera un archivo en la carpeta de migraciones con la creación de la tabla correspondiente al modelo “carro”.

¿Cómo aplicar migraciones en Django?

Una vez creadas las migraciones, se deben aplicar usando python manage.py migrate. Esto ejecuta todas las migraciones y crea las tablas necesarias en la base de datos.

¿Cómo verificar la base de datos en Django?

Puedes revisar la base de datos usando python manage.py dbshell. Este comando te conecta a la base de datos definida en el archivo settings.py. En este caso, se utilizó SQLite, que es fácil de usar pero no ideal para producción debido a su baja concurrencia.

¿Cómo configurar la base de datos en Django?

La configuración de la base de datos se encuentra en el archivo settings.py bajo el diccionario DATABASES. Django soporta múltiples motores de base de datos como PostgreSQL, MariaDB, MySQL, Oracle y SQLite. En este curso, se utilizará PostgreSQL.

Aportes 22

Preguntas 3

Ordenar por:

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

**SOlucion en Linux al Error:** **CommandError:** You appear not to have the 'sqlite3' program installed or on your path. Al ejecutar: $ python manage.py dbshell Falta instalar sqlite3. En linux lo instala asI: - Primero actualiza tu gestor de paquetes (recomendable para obtener la ultima version disponible del paquete a instalar): `sudo apt update`- ahora instala el paquete sqlite3 `sudo apt install sqlite3`
Para los que estan en Windows, les recomiendo seguir estos pasos, me funcionaron a mi. **Descargar SQLite3:** * Entra en la página de descargas de SQLite : <https://www.sqlite.org/download.html> * Descarga los binarios precompilados para Windows (sqlite-tools-win-x64-3460000.zip). **Extraer y Agregar al PATH:** * Extrae el archivo ZIP en un directorio de tu elección, por ejemplo, C:\sqlite. * Agrega el directorio donde extrajiste SQLite3 a la variable de entorno PATH de tu sistema: * Haz clic derecho en 'Este PC' o 'Mi PC' y selecciona 'Propiedades'. * Haz clic en 'Configuración avanzada del sistema' y luego en 'Variables de entorno'. * En 'Variables del sistema', busca la variable 'Path', selecciónala y haz clic en 'Editar'. * Haz clic en 'Nuevo' y agrega la ruta al directorio donde extrajiste SQLite3 (por ejemplo, C:\sqlite). * Haz clic en 'Aceptar' para cerrar todas las ventanas de diálogo. **Verificar la Instalación:** * Abre una nueva ventana de comando (importante abrir una nueva después de actualizar el PATH). * Escribe sqlite3 y presiona Enter. Si la instalación fue exitosa, deberías entrar en la interfaz de línea de comandos de SQLite3. Ahora ya puedes volver a intentar con el comando: python manage.py dbshell
![]()Para todas las personas que no quieren complicarse haciendo instalaciones extras, pueden usar extensiones de VSCode como es SQLite, aquí un resumen de su uso: 1. Instalar la extensión: SQLite. (Ver imagen) ![](https://static.platzi.com/media/user_upload/extension-sqlite-6fc51fd1-645e-4cca-beb4-058ee05a732d.jpg) 1. Hacer clic en la barra superior dentro de VSCode y escribir (ver imagen): >SQLite: New Query.![](https://static.platzi.com/media/user_upload/image-64c7bec4-8645-45a8-931e-e0cc2ef97df6.jpg) 2. Seleccionar la base de datos que en este caso se llama db.sqlite3 3. Una vez abierta la ventana pueden escribir sus query sin problemas, un ejemplo es:![](https://static.platzi.com/media/user_upload/image-9772dd17-1c49-49f0-9f5d-8dca1165c6a9.jpg) **Nota:** Para ejecutar la query solo basta con dar clic derecho y seleccionar Run Query del menú que se despliega. En caso de tener muchas y solo querer ejecutar una sola, basta con dar clic derecho sobre la consulta a ejecutar y luego selecciona la opción de Run Selected Query del menú desplegado.
Adicional a las Bases de datos que indica Django en su documentación, también he logrado conectar SQL Server 😁
Dato Curioso que encontre: SQLite viene preinstalado en macOS por defecto debido a varias razones que lo hacen una opción conveniente y útil para el sistema operativo: 1\. **Ligereza y Simplicidad**: SQLite es una base de datos muy ligera, sin servidor, lo que significa que no requiere un proceso separado para ejecutarse. Esto lo convierte en una solución rápida y sencilla para integrarse en muchas aplicaciones del sistema operativo y otros desarrollos que puedan necesitar una base de datos. 2\. **Licencia**: SQLite es software libre, lo que significa que Apple puede integrarlo en macOS sin tener que preocuparse por cuestiones de licencias comerciales. Esto facilita su inclusión en el sistema operativo de manera económica y eficiente. 3\. **Integración con aplicaciones nativas**: Muchas de las aplicaciones y servicios nativos de macOS, como Safari y la app de Notas, utilizan SQLite para almacenar datos de manera local. Dado que es una base de datos de propósito general que puede manejar pequeñas y medianas cantidades de datos eficientemente, es ideal para este tipo de aplicaciones. 4\. **Portabilidad**: SQLite almacena la base de datos completa en un solo archivo, lo que facilita la transferencia de datos entre sistemas y la creación de copias de seguridad. Esto lo hace muy conveniente tanto para desarrolladores como para usuarios que necesitan manejar datos localmente. 5\. **Compatibilidad con UNIX**: macOS está basado en UNIX, y SQLite es popular en sistemas UNIX/Linux debido a su facilidad de uso y su integración con herramientas de línea de comandos. Incluir SQLite por defecto proporciona a los usuarios y desarrolladores un entorno de desarrollo más completo y flexible.
Los que están en Windows NO pongan: `./manage.py dbshell` Pongan `python mange.py dbshell` Ahí si corre sin drama: ![](https://static.platzi.com/media/user_upload/image-fd7868b9-7395-4f27-88a9-4030b518d88a.jpg)
Desarrollar nuestros proyectos django se nos presenta diferentes ambientes, en nuestra PC se llama: **En desarrollo**, en un servidor se le llama: **En produccion**. Por ende no es buena practica tener la configuracion del archivo settings.py que se hablo en esta clase en ese mismo archivo para los diferentes ambientes. No hay una unica forma de hacerlo. Pero yo actualemnt estoy utilizando esta: donde ademas de **produccion** y **desarrollo**, tambien uso el ambiente de **staging, y staging** en pocas palabras es un clon de **produccion,** donde**** estando en staging probamos el codigo simulando que etsamos en produccion para prevenir errores y evitar llevar esos errores a produccion. Esta es la estructura de directorio para configurar setting de la forma nombrada: ![](https://static.platzi.com/media/user_upload/image-068635c8-e3e1-4909-b7d4-b3b25ef59aad.jpg)
Para los que estan en Windows, les recomiendo seguir estos pasos, me funcionaron a mi. **Descargar SQLite3:** Visita la página de descargas de SQLite : <https://www.sqlite.org/download.html> Descarga los binarios precompilados para Windows (sqlite-tools-win-x64-3460000.zip). **Extraer y Agregar al PATH:** Extrae el archivo ZIP en un directorio de tu elección, por ejemplo, C:\sqlite. Agrega el directorio donde extrajiste SQLite3 a la variable de entorno PATH de tu sistema: Haz clic derecho en 'Este PC' o 'Mi PC' y selecciona 'Propiedades'. Haz clic en 'Configuración avanzada del sistema' y luego en 'Variables de entorno'. En 'Variables del sistema', busca la variable 'Path', selecciónala y haz clic en 'Editar'. Haz clic en 'Nuevo' y agrega la ruta al directorio donde extrajiste SQLite3 (por ejemplo, C:\sqlite). Haz clic en 'Aceptar' para cerrar todas las ventanas de diálogo. **Verificar la Instalación:** Abre una nueva ventana de comando (importante abrir una nueva después de actualizar el PATH). Escribe sqlite3 y presiona Enter. Si la instalación fue exitosa, deberías entrar en la interfaz de línea de comandos de SQLite3. Ahora ya puedes volver a intentar con el comando: python manage.py dbshell
traten de usar linux y sis tienes windows usa el wsl para poder trabajar si no sabes como usarlo toma el curso que tiene platzi creo que esta en cmd
Asegurense de tener instalado SQLite `sudo apt-get install sqlite3`
Aquí pensando hubiera sido bueno que mostraran el flujo rápidamente con git y que el curso de git sea un requisito, para no profundizar tanto, más bien por orden y dejar el recurso para los estudiantes.
Ya vimos que Django maneja de manera abstracta la base de datos por medio del ORM, lo que nos permite utilizar clases y objetos en Python en lugar de escribir consultas SQL. En el archivo `settings.py` de nuestro proyecto en Django tenemos una sección donde se define el backend de la base de datos y las credenciales necesarias para conectarse a ella. En la sección de `DATABASES` de `settings.py` se especifica el tipo de base de datos que se usará. Por default Django viene con SQLite, pero se puede utilizar cualquier base de datos SQL. DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', # Backend para SQLite 'NAME': BASE\_DIR / 'db.sqlite3', # Ruta del archivo SQLite } } Para gestionar los cambios en la estructura de la base de datos (tablas, columnas, índices, etc.) utilizamos migraciones. Las migraciones nos permite mantener la base de datos sincronizada con los modelos de la aplicación. Cada vez que lleguemos a crear un modelo, modificar un campo de un modelo o eliminarlo debemos de realizar una migración para que se actualice la base de datos. Después de modificar algún modelo, debemos de crear una migración para reflejar los cambios en la base de datos, utilizamos el siguiente comando. python manage.py makemigrations Este comando va a generar un archivo de migración en la carpeta de `migrations` de nuestra aplicación. Para aplicar la migración y actualizar la base de datos, utilizamos el comando. python manage.py migrate Toma las migraciones pendientes y actualiza la base de datos, para que coincide con los modelos. Podemos acceder a nuestro base de datos desde Django, para esto utilizamos el comando python manage.py dbshell Esto nos permite interactuar con nuestra base de datos por medio de nuestra consola.
Tambien puedes usar SQLite3 Editor en visual studio code para visualizaar la base de datos SQLite3.
Buenas Noches se realizo la migración y una vez terminada al parecer todo bien, pero cuando consulto las tablas como aparece en el video, no se lista la tabla de Car, alguna observacoin, como puedo volver a recreal el modelo en la base de datos.
Profe me sale el siguiente mensaje de error, como lo resuelvo? $ python manage.py dbshell CommandError: You appear not to have the 'sqlite3' program installed or on your path.
Vengo del curso de ORM en javascript y fue una frustración. Acá con python - django por fin pude crear un ORM
Profe me sale el siguiente mensaje de error, como lo resuelvo? $ python manage.py dbshell CommandError: You appear not to have the 'sqlite3' program installed or on your path.
En caso de que al realizar la migración aparezca el mensaje "No changes detected", pueden ejecutar el comando `python manage.py makemigrations <app_name>` para forzar la creación de las migraciones.
Aquí les dejo 3 opciones para interactuar con su base de datos en Windows: ![](https://static.platzi.com/media/user_upload/image-cb6fef38-af9e-45bd-aeb5-14ef1b785bdb.jpg) ![](https://static.platzi.com/media/user_upload/image-f856d0b4-b7c1-433f-8f00-916a427e4771.jpg) ![](https://static.platzi.com/media/user_upload/image-10f1fd88-8ec8-408d-a7e0-10b3d173ba5b.jpg)
Otra opción que pueden usar es descargar el "DB Browser for SQLite" que te ayuda a gestionar tu base de datos de una manera gráfica, intuitiva y sencilla: <https://sqlitebrowser.org/dl/>
Para los que tienen problemas usando sqlite3 en windows y usan cmd como terminal, este es el paso a paso: 1\. Instalen dentro de su ambiente virtual "choco" (es parecido al pip que usamos siempre). `@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"` 1. Installen SQlite 3 usando choco: `choco install sqlite` Y ya, breve.
Hola Juan, puedes por favor mencionar los plugins de vcode que usas para trabajar con Django, Python, html y css? Puedes compartir tu preferencia de setting de GUI