Как обновить выбор для форм. ChoiceField в Django? - PullRequest
1 голос
/ 21 октября 2019

У меня есть поле в forms.py :

main_choices = ((1,'option 1'),(2,'option 2'),(3,'option 3'))
sub_choices = ((1,'PlaceHolder'))
class MainForm(forms.Form):
    type = forms.ChoiceField(choices=main_choices)
    sub_type = forms.ChoiceField(choices=sub_choices)

HTML :

<form action="{% url 'app:get_files' %}" method="POST">
  {% csrf_token %}
  {{ form.type }}
  {{ form.sub_type }}
  <button type="submit" class="app">GET</button>
</form>

view.py

def get_files(request):
    //Some action with complete form
    return FileResponse(zip_file, as_attachment=True)
def get_ajax(request):
    if request.is_ajax():
        data = request.POST.copy()
        if 'type' in data:
            type = int(data['type'])
            if type == 2:
                sub_choices = getChoices(type)
            elif type ==3:
                sub_choices = getChoices(type)
        return HttpResponse()

В настоящее время сервер перехватывает данные постов ajax из поля типа. Я не знаю, как поместить sub_choices из действия get_ajax в поле sub_type в формах. Кто-нибудь может объяснить, как это сделать?

...