Modelos do Django: versão detalhada de uma escolha
Eu tenho um modelo:
from django.db import models
CHOICES = (
('s', 'Glorious spam'),
('e', 'Fabulous eggs'),
)
class MealOrder(models.Model):
meal = models.CharField(max_length=8, choices=CHOICES)
Eu tenho um formulário:
from django.forms import ModelForm
class MealOrderForm(ModelForm):
class Meta:
model = MealOrder
E eu quero usar formtools.preview. O modelo padrão imprime a versão curta da escolha ('e' em vez de 'Ovos fabulosos'), porque ele usa
{% for field in form %}
<tr>
<th>{{ field.label }}:</th>
<td>{{ field.data }}</td>
</tr>
{% endfor %}.
Eu gostaria de um modelo tão geral quanto o mencionado, mas imprimindo "Ovos fabulosos" em vez disso.
[como eu tinha dúvidas sobre qual é a verdadeira questão, eu coloquei em negrito para todos nós :)]
Eu sei como obter a versão detalhada de uma escolha de uma forma que é em si feia:
{{ form.meal.field.choices.1.1 }}
A verdadeira dor é que eu preciso escolher a escolha, e a única maneira que vem à minha mente é iterar através de escolhas e verificação{% ifequals currentChoice.0 choiceField.data %}
, que é ainda mais feia.
Pode ser feito facilmente? Ou precisa de alguma programação template-tag? Isso não deveria estar disponível no django?