• Inicio
  • Iniciar sesión
  • Crear cuenta
  • Explorar cursos
  • Bootcamps
  • Precios
  • Blog

¡Califica el Curso de aplicaciones web con Django!

Selecciona la calificación de 1 a 5 estrellas

Reporta un error

Curso Curso de aplicaciones web con Django

Video Slug Unicos

Tipo de error

Algo salió mal al cargar el vídeo

El vídeo no pudo cargarse, hemos enviado un reporte al equipo de desarrollo, para poder solucionarlo a la brevedad.

Mientras solucionamos el problema, intenta lo siguiente para solucionar el error:

  • Recarga la página
  • Intenta reiniciar tu navegador y luego vuelve a reproducir el vídeo
  • Vacía el caché de tu navegador
  • Intenta reproducir con las extensiones del navegador deshabilitadas
  • Intenta con un navegador distinto
  • Si el problema persiste contáctanos en Discord
home Ir al inicio report_problem Reportar falla star Valorar curso

¡Desbloquea vídeos ilimitados! Sube a Premium

Necesitas premium para acceder a este contenido. Suscríbete por $26USD al mes

Suscribirme
  • check_circle_outline
    Módulo 1 | 10 clases

    Introducción

    expand_more
  • check_circle_outline
    Módulo 2 | 14 clases

    Formularios

    expand_more
  • check_circle_outline
    Módulo 3 | 6 clases

    Templates

    expand_more
  • check_circle_outline
    Módulo 4 | 19 clases

    Productos

    expand_more
    • done_all

      Clase 1

      Modelo de productos

    • done_all

      Clase 2

      Administrador de productos

    • done_all

      Clase 3

      Shell de Django

    • done_all

      Clase 4

      Listado de productos

    • done_all

      Clase 5

      Clase ListView

    • done_all

      Clase 6

      Clase DetailView

    • done_all

      Clase 7

      Templates de aplicaciones

    • done_all

      Clase 8

      Slug

    • done_all

      Clase 9

      Slugs automáticos

    • done_all

      Clase 10

      Pre save

    • done_all

      Clase 11

      Slug Unicos

    • done_all

      Clase 12

      Imagenes

    • done_all

      Clase 13

      Listado de productos

    • done_all

      Clase 14

      Snippets

    • done_all

      Clase 15

      Buscador de productos

    • done_all

      Clase 16

      Relación muchos a muchos

    • done_all

      Clase 17

      Búsqueda por múltiples filtros

    • done_all

      Clase 18

      Rutas con argumentos

    • done_all

      Clase 19

      Respaldo de información

  • check_circle_outline
    Módulo 5 | 3 clases

    Usuarios

    expand_more
  • check_circle_outline
    Módulo 6 | 20 clases

    Carrito de compras

    expand_more
  • check_circle_outline
    Módulo 7 | 10 clases

    Orden de compra

    expand_more
  • check_circle_outline
    Módulo 8 | 11 clases

    Dirección de envío

    expand_more
  • check_circle_outline
    Módulo 9 | 5 clases

    Orden y dirección de envío

    expand_more
  • check_circle_outline
    Módulo 10 | 11 clases

    Pedidos

    expand_more
  • check_circle_outline
    Módulo 11 | 8 clases

    Código de promoción

    expand_more
  • check_circle_outline
    Módulo 12 | 9 clases

    Métodos de pago

    expand_more
  • check_circle_outline
    Módulo 13 | 3 clases

    Cobro

    expand_more
  • check_circle_outline
    Módulo 14 | 3 clases

    Extras

    expand_more

10 comentario(s)

Santiago Benavidez

07 Febrero 23

more_vert
  • Resuelta

Por si les dá error de uuid, así me sirvió a mí:

def set_slug(sender, instance, *args, **kwargs):
if instance.title:
slug = slugify(instance.title)

    contador = 1
    while Product.objects.filter(slug=slug).exists():
        slug = slugify(
                '{}-{}'.format(instance.title, contador)
                )
        contador +=1

    instance.slug = slug

pre_save.connect(set_slug, sender=Product)

Ver respuestas (1)

@mauricioespana3

19 Noviembre 22

more_vert
  • Resuelta

Hola Eduardo tengo un inconveniente con el código, lo tengo igual def set_slug(sender, instance, *args, **kwargs): #callback
if instance.title and not instance.slug:
slug = slugify(instance.title)

    while Product.objects.filter(slug=slug).exists():
        slug = slugify(
            '{}-{}'.format(instance.title, str(uuid.uuid4())[:8])
        )

instance.slug = slugify(instance.title).

pero me sigue apareciendo:
UNIQUE constraint failed: products_product.slug

Que puedo hacer?

Josué Patricio Tamayo Sánchez

16 Octubre 21

more_vert
  • Resuelta
Por qué usar un while en vez de un if !?
Ver respuestas (1)

David Alejandro Gómez Rueda

01 Julio 21

more_vert
  • Resuelta
¿Cuál es la diferencia entre el 'pre_save' y el método previamente creado llamado 'save' en la clase 'Product'?
Ver respuestas (1)

Eduardo Ismael García Pérez

12 Noviembre 20

more_vert
  • Resuelta
Hola Alex, El código pudiera quedar de la siguiente manere:

```python

import uuid
from django.db.models.signals import pre_save


def set_slug(sender, instance, *args, **kwargs):
 |     if not instance.slug:
 |         instance.slug = str(uuid.uuid4())[:8]
 | 

 | pre_save.connect(set_slug, sender=Model)

```

Alexander Samayoa

10 Noviembre 20

more_vert
  • Resuelta
Eduardo una pregunta para poder aplicar el uuid a todo el slug como se pudiera hacer, considero que seria de gran ayuda para la seguridad en la url, comprendo que lo modifica cuando hay una repetido pero si lo quisieramos aplicar en toda la url
Ver respuestas (2)

Raúl Díaz

01 Septiembre 20

1
more_vert
  • Resuelta
Si yo quisiera actualizar el slug constantemente, como lo haria? 
Ver respuestas (1)

@lautaroexner

16 Enero 20

more_vert
  • Resuelta
Me dice undefined name 'uuid'
Ver respuestas (1)

Ariel

17 Diciembre 19

1
more_vert
  • Resuelta
Hola Eduardo, tengo una duda, en caso de querer crear una especie de inventario, y querer por ejemplo que un producto se replique automaticamente varias veces ¿podría agregar una opción en el campo del admin para hacer esto? ¿De que forma?  
Ver respuestas (2)

Yuri Marques

16 Diciembre 19

1
more_vert
  • Resuelta
Hola Eduardo, una duda que me viene... Caso ya exista el slug, se le asigna el titulo + uuid de forma automática, y ya no podría cambiar ese slug salvo modificando la base de datos, sería posible dejar visible el campo del slug en el panel, pero, poner el valor que se va a guardar, al igual que una etiqueta value en html, de modo que se pueda modificar el valor cuándo quiera o se necesite...
Ver respuestas (1)

Clase 35

Slug Unicos

arrow_back Siguiente arrow_forward

35/132

Curso de aplicaciones web con Django