Cambiar el nombre para mostrar del objeto usando la función __str__ – Modelos Django | Python

¿Cómo cambiar el nombre para mostrar de un objeto en la interfaz de administración de Django? Cada vez que se crea una instancia de modelo en Django, muestra el objeto como ModelName Object(1) . Este artículo explorará cómo realizar cambios en su modelo de Django utilizando def __str__(self)para cambiar el nombre para mostrar en el modelo.

Nombre para mostrar del objeto en los modelos de Django

Considere un proyecto llamado geeksforgeeksque tiene una aplicación llamada geeks.

Consulte los siguientes artículos para comprobar cómo crear un proyecto y una aplicación en Django.

Ingrese el siguiente código en models.pyel archivo de la aplicación geeks .

from django.db import models
from django.db.models import Model
# Create your models here.
  
class GeeksModel(Model):
    geeks_field = models.CharField(max_length = 200)

Después de ejecutar makemigrations y migrar en Django y renderizar el modelo anterior, intentemos crear una instancia usando la string » GfG is Best «.
django-object-name-display
Ahora mostrará el mismo objeto creado como objeto GeeksModel (1) en la interfaz de administración.
display name django models

¿Cómo cambiar el nombre para mostrar de las instancias del modelo en la interfaz de administración de Django?

Para cambiar el nombre para mostrar, usaremos def __str__()la función en un modelo. La función str en un modelo Django devuelve una string que se representa exactamente como el nombre para mostrar de las instancias de ese modelo.
Por ejemplo, si cambiamos por encima de models.py a

from django.db import models
from django.db.models import Model
# Create your models here.
  
class GeeksModel(Model):
    geeks_field = models.CharField(max_length = 200)
     
    def __str__(self):
         return "something"

Esto mostrará los objetos como algo siempre en la interfaz de administración.
django-display-name-something

La mayoría de las veces nombramos el nombre para mostrar que uno podría entender usando selfel objeto. Por ejemplo return self.geeks_field, en la función anterior devolverá la string almacenada en geeks_field de ese objeto y se mostrará en la interfaz de administración.
django-display-name-gfg-is-best.

Tenga en cuenta que la función str siempre devuelve una string y uno puede modificarla según su conveniencia.

Compruebe también –

Publicación traducida automáticamente

Artículo escrito por NaveenArora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *