Modelos - Django Tienda en línea - 04
Creamos los modelos para el producto, categoría y asociados.
Creamos los modelos para el producto, categoría y asociados.
El siguiente paso que vamos a hacer sería una vez creada la aplicación en Django sería crear los modelos en caso de que no lo quieras hacer manualmente recuerda que todo esto está también en el repositorio asociado:
https://github.com/libredesarrollo/libro-curso-django-base
La configuración realizada para la aplicación será la siguiente:
elements/models.py
from django.db import models
class Category(models.Model):
title = models.CharField(max_length=255)
slug = models.CharField(max_length=255)
def __str__(self):
return self.title
class Type(models.Model):
title = models.CharField(max_length=255)
slug = models.CharField(max_length=255)
def __str__(self):
return self.title
class Element(models.Model):
title = models.CharField(max_length=255)
slug = models.CharField(max_length=255)
description = models.TextField()
content = models.TextField()
price = models.DecimalField(max_digits=10, decimal_places=2, default=0.0) # 12345678.10
category = models.ForeignKey(Category, on_delete=models.CASCADE)
type = models.ForeignKey(Type, on_delete=models.CASCADE)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
def __str__(self):
return self.title
Puedes ver que es una configuración normal que haríamos para post y categorías es decir para un blog solo que en este caso como te comentaba al tratar con una entidad como
quien dice genérica la llamé como elementos y para que podamos especificar qué es el tipo como te comenté anteriormente si es una publicación si es un producto etcétera
Definimos aquí el tipo en el cual podemos definir valga la redundancia el tipo que queramos crear para un elemento por vez pero a la final tiene aquí lo típico como el título el slug la descripción un precio que si es una publicación no debería de tener categoría el tipo claro está y las fechas Eso es todo así que bueno por lo demás aquí es lo mismo título
Recordemos que por defecto estamos empleando es SQLite que es el motor que voy a dejar porque no me importa la base de datos realmente tú configura la que prefieras.
Creamos y ejecutamos las migraciones:
$ python manage.py makemigrations
$ python manage.py migrate
- Andrés Cruz
Este material forma parte de mi curso y libro completo; puedes adquirirlos desde el apartado de libros y/o cursos Curso y Libro desarrollo web con Django 5 y Python 3 + integración con Vue 3, Bootstrap y Alpine.js.
Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter
Acepto recibir anuncios de interes sobre este Blog.
!Cursos desde!
10$
En Udemy
Quedan 0d 20:50!
!Cursos desde!
4$
En Academia
Ver los cursos!Libros desde!
1$
Ver los libros