Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Curso Básico de Django

Curso Básico de Django

Facundo García Martoni

Facundo García Martoni

El método __str__

13/29
Recursos

Aportes 9

Preguntas 4

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Entonces __ str __ es un método para definir el output que van a tener los objetos cuando los llames.

class datetime.timedelta
Una duración que expresa la diferencia entre dos instancias de fecha, hora o datetime con una resolución de microsegundos.

Para las creación de métodos dentro de las clases de los modelos, No es necesario aplicar migraciones.

Solo cuando se modifican o se crean nuevos atributos y modelos. Como por ejemplo, cambiar de plural a singular el nombre del modelo Choices a choice como lo hizo el profe en la clase.

Reto:

Investigar lo que es shell plus y tratar de usarlo en la app. Con lo que llevamos del curso ya se puede usar perfectamente y sirve para leer documentación de algo que seguramente querrás usar

Ojo que tras hacer los cambios en las clases y como ya tenía el shell abierto con los imports, no vi reflejado el cambio al usar Question.objects.all() pero al abrir otra consola e importar de nuevo las clases ya se vieron reflejados los cambios

Los “dunder methods” son una manera en la cual nosotros como programadores podemos establecer el comportamiento que tendran nuestros objetos al aplicar sobre ellos diversas built-in functions de Python.

  • __str __: definimos el comportamiento que tendrá un objeto A al aplicar ‘str(a)’
  • __len __: definimos el comportamiento de len(a)

Esos son solo algunos, hay muchos más

Otra forma de concatenar variables y string

def __str__(self) -> str:
        return f"Pregunta: {self.question_text}"

Le puedes agregar la fecha con formato especial en el str y queda mejor:

    def was_published_recently(self):
        return self.pub_date >= timezone.now() - datetime.timedelta(days=1)