У меня есть модель:
from django.db import models
CHOICES = (
('s', 'Glorious spam'),
('e', 'Fabulous eggs'),
)
class MealOrder(models.Model):
meal = models.CharField(max_length=8, choices=CHOICES)
У меня есть форма:
from django.forms import ModelForm
class MealOrderForm(ModelForm):
class Meta:
model = MealOrder
И я хочу использовать formtools.preview. Шаблон по умолчанию печатает короткую версию выбора ( "e" вместо "Fabulous eggs" ), потому что он использует
{% for field in form %}
<tr>
<th>{{ field.label }}:</th>
<td>{{ field.data }}</td>
</tr>
{% endfor %}.
Я бы хотел, чтобы шаблон был общим, как упомянуто, но вместо этого напечатал "Fabulous eggs".
[поскольку у меня были сомнения, где был реальный вопрос, я выделил его для всех нас:)]
Я знаю, как получить вербальную версию выбора так, как это уродливо:
{{ form.meal.field.choices.1.1 }}
Настоящая боль - мне нужно получить выбранный выбор, и единственный способ, который приходит мне в голову, - это повторить выбор и проверить {% ifequals currentChoice.0 choiceField.data %}
, что даже уродливее.
Можно ли это сделать легко? Или ему нужно программирование шаблонов? Должен ли быть недоступен в джанго уже?