У меня есть форма, поля которой создаются в ее __init__method:
class Form(forms.Form):
def __init__(self, modelInstance, *args, **kwargs):
super(Form, self).__init__(*args, **kwargs)
# create fields based of modelInstance data (because it might change)
self.fields[modelInstance.name] = models.ChoiceField(choices=SomeChoices, widget=forms.RadioSelect())
Поэтому я не могу заранее знать, как можно назвать поле.
Теперь, как я могу выполнить итерацию выбор поля, не зная его имени?
Что бы я хотел:
{% for field in form %}
<p>sometext</p>
{% for value, text in field.NAME.choices %}
<input type="radio" name="{{ field.name }}" value="{{value}}" id="id_{{ field.name }}_{{forloop.counter0}}">
<label>{{text}}</label>
</div>
{% endfor %}
{% endfor %}
Я знаю field.NAME возвращает только фактическое имя поля и не дает мне доступ к его выбору. Но как еще я могу это сделать?
Любая помощь очень ценится!