Modelos - Django Tienda en línea - 04

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

In english

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.

Andrés Cruz

Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter

Andrés Cruz En Udemy

Acepto recibir anuncios de interes sobre este Blog.

!Cursos desde!

10$

En Udemy

Quedan 0d 20:50!


Udemy

!Cursos desde!

4$

En Academia

Ver los cursos

!Libros desde!

1$

Ver los libros
¡Hazte afiliado en Gumroad!