Ho un oggetto di database chiamato manor_stats
, con circa 30 campi. Per la maggior parte delle righe, la maggior parte di questi campi sarà nullo.Modelli Django: scorrere e stampare tutte le proprietà disponibili di un oggetto?
Nel mio modello, vorrei scorrere tutti i campi nella riga e stampare informazioni solo per i campi che non sono nulli.
Ad esempio, c'è un campo chiamato "nome": mi piacerebbe stampare <li>Name: {{ manor_stats.name }}</li>
SOLO nel modello per quegli oggetti in cui il campo non è nullo. Idealmente mi piacerebbe inserire automaticamente "Name:" da qualche parte, piuttosto che specificarlo.
So che potrei usare {% if manor_stats.name %}
per verificare se ogni campo è nullo, ma non voglio farlo 30 volte per tutti i campi.
Ecco quello che ho in 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))
E poi nel place.html, mi piacerebbe avere qualcosa che funziona circa come questo (pseudocodice, con ??? indicando i bit che non so come fare):
{% 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 %}
speranza che abbia un senso ...
duplicato esatto: http://stackoverflow.com/questions/2170228/django-iterate-over-model- nome-campo-istanza-e-valori-nel-modello –