Plantillas Django: ¿recorrer e imprimir todas las propiedades disponibles de un objeto?
Tengo un objeto de base de datos llamadomanor_stats
, con alrededor de 30 campos. Para la mayoría de las filas, la mayoría de estos campos serán nulos.
En mi plantilla, me gustaría recorrer todos los campos de la fila e imprimir información solo para los campos que no son nulos.
Por ejemplo, hay un campo llamado "nombre": me gustaría imprimir<li>Name: {{ manor_stats.name }}</li>
en la plantilla SOLO para aquellos objetos donde el campo no es nulo. Idealmente, me gustaría extraer "Nombre:" de algún lugar automáticamente también, en lugar de especificarlo.
Sé que podría usar{% if manor_stats.name %}
para verificar si cada campo es nulo, pero no quiero hacer eso 30 veces para todos los campos.
Esto es lo que tengo en views.py:
manor_stats = Manors.objects.get(idx=id)
return render_to_response('place.html', { 'place' : place, 'manor_stats' : manor_stats }, context_instance = RequestContext(request))
Y luego en place.html, me gustaría tener algo que funcione aproximadamente así (pseudocódigo, con ??? indicando los bits que no sé cómo hacer):
{% if manor_stats %}
<ul>
{% for manor_stats.property??? in manor_stats %}
{% if manor_stats.property %}
<li>{{ manor_stats.property.field_name??? }} {{ manor_stats.property.value??? }}</li>
{% endif %}
{% endfor %
{% endif %}
Espero que tenga sentido ...