Ho un modello:
from django.db import models
CHOICES = (
('s', 'Glorious spam'),
('e', 'Fabulous eggs'),
)
class MealOrder(models.Model):
meal = models.CharField(max_length=8, choices=CHOICES)
Ho un modulo:
from django.forms import ModelForm
class MealOrderForm(ModelForm):
class Meta:
model = MealOrder
E voglio usare formtools.preview. Il modello predefinito stampa la versione breve della scelta ('e' invece di 'Uova favolose'), perché utilizza
{% for field in form %}
<tr>
<th>{{ field.label }}:</th>
<td>{{ field.data }}</td>
</tr>
{% endfor %}.
Vorrei un modello generale come quello menzionato, ma invece stampa "Uova favolose".
[dato che avevo dei dubbi su dove fosse la vera domanda, l'ho messa in grassetto per tutti noi :)]
So come ottenere la versione dettagliata di una scelta in un modo che è brutto:
{{ form.meal.field.choices.1.1 }}
Il vero dolore è che ho bisogno di ottenere la scelta selezionata, e l'unico modo che mi viene in mente è iterare attraverso le scelte e il controllo {% ifequals currentChoice.0 choiceField.data %}
, il che è ancora più brutto.
Può essere fatto facilmente? O ha bisogno di una programmazione con tag modello? Non dovrebbe già essere disponibile in Django?