¿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 geeksforgeeks
que 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.py
el 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 «.
Ahora mostrará el mismo objeto creado como objeto GeeksModel (1) en la interfaz de administración.
¿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.
La mayoría de las veces nombramos el nombre para mostrar que uno podría entender usando self
el 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.
.
Tenga en cuenta que la función str siempre devuelve una string y uno puede modificarla según su conveniencia.
Compruebe también –
- Modelo de renderizado en la interfaz de administración de Django
- Validaciones de campo integradas: modelos de Django
Publicación traducida automáticamente
Artículo escrito por NaveenArora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA