Django: Как перебрать выбор полей формы, не зная имени поля? - PullRequest
1 голос
/ 13 апреля 2020

У меня есть форма, поля которой создаются в ее __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 возвращает только фактическое имя поля и не дает мне доступ к его выбору. Но как еще я могу это сделать?

Любая помощь очень ценится!

1 Ответ

0 голосов
/ 13 апреля 2020

Проверьте это django документация

...