Me gustaría que mis modelos tengan dos representaciones de cadena: una que se muestra en los registros del backend para depuración y otra más limpia que se muestra a los usuarios finales cuando el modelo está representado en el HTML . En este momento, estoy anulando __unicode__()
. ¿Hay alguna forma de hacer esto?Django: Representación de cadena de los modelos
8
A
Respuesta
16
También puedes probar __repr__
y __str__
para tus propósitos de registro/depuración. Es posible (al menos así debería ser) que su registrador/depurador use repr(object)
para registrar sus objetos.
7
Usar las propiedades
class SomeThing(models.Model):
foo=
bar=
baz=
def __unicode__(self):
return "{0} {1}".format(self.foo, self.bar)
@property
def details(self):
return repr(dict(foo=self.foo, bar=self.bar, baz=self.baz))
Ahora puede iniciar sesión someObject.details
+0
¿Qué pasa con ese atributo '__repr__'? ¿Puede ser utilizado de alguna manera? Así que '__unicode__' es bueno para mostrar la cadena en, por ejemplo, admin, y los 'details' son buenos para volcar el objeto a los registros? – Tjorriemorrie
Cuestiones relacionadas
- 1. ¿Cómo funcionan los modelos Django?
- 2. Django Queryset en todos los modelos?
- 3. modelos de Django y Python
- 4. modelos de Django evitar duplicados
- 5. ¿Cómo eliminar modelos de django?
- 6. Diseñador de GUI para administrar los modelos de Django
- 7. Django - Manejo de "modelos enum"
- 8. Django modelos, funciones personalizadas
- 9. Representación de cadena de time_t?
- 10. Generar hashes únicos para los modelos de django
- 11. Los modelos de Django filtran por la clave externa
- 12. Formulario modelo django. Incluir campos de los modelos relacionados
- 13. Los modelos de Django no son ajax serializables
- 14. ¿Cómo eliminar un registro en los modelos de Django?
- 15. Neo4j y django modelos
- 16. Django - Representación gráfica del modelo (ERD)
- 17. Uso de `issubclass()` con modelos de Django
- 18. Generar objetos de JavaScript de Django Modelos
- 19. Gerentes de modelos personalizados de Django
- 20. convertir cadena de texto a representación hexadecimal o representación binaria
- 21. Orden de definición de modelos Django
- 22. Modelos Django con relaciones OneToOne?
- 23. Modelos de grupo en django admin
- 24. campo entero grande en modelos de Django
- 25. modelos django seleccionando campo único
- 26. Modelos Django e integración de clase heredada
- 27. Almacenamiento y escape de etiquetas y filtros de Django en los modelos Django
- 28. modelos de Django subclases con QuerySets integrados
- 29. Prueba Django modelos con FileField
- 30. modelos Django | obtener columnas específicas
De hecho, '__repr__' se utiliza para la representación de depuración/interno, y, o bien' '__unicode__' o __str__' para uso general. Esto debería tener más votos positivos. –