2012-04-04 14 views
1

Ich habe ein Problem mit dem '| Standard' in Django Vorlagen.Django DetailView Vorlage Standardfeld Wert funktioniert nicht

Wenn ich dies tun (es funktioniert):

<tr> 
    <td>{% trans 'NAMEOFTHEFIELD' %}:</td> 
    <td>{{ object.nameofthefield|default:"Not informed" }}</td> 
</tr> 

Aber ich habe viele, viele Felder, damit ich tun:

{% for name, value in object.get_fields %} 
    {% if value %} 
    <tr> 
     <td>{% trans name %}:</td> 
     <td>{{ value|default:"Not informed" }}</td> 

    </tr> 
    {% endif %} 
{% endfor %} 

In diesem Fall wird der Standardwert nicht funktioniert, und es zeigt in der Vorlage "Keine" anstelle von "Nicht informiert" an.

Kennen Sie eine einfache Lösung?

Antwort

2

Ich vermute, Sie konvertieren zu str in get_fields Methode des Modells. Wenn das nicht stimmt, posten Sie bitte Ihre get_fields Methode.

+0

I wurde mit value_to_string dann _get_val_from_obj I geändert: def get_fields (self): return [(field.verbose_name, field._get_val_from_obj (self)) für das Feld in self .__ Klasse __._ meta.fields] ^ . ^ – StaticX