Я конвертирую проект из php в Django и столкнулся с проблемой фильтрованных меню. У меня есть форма:django dynamic filter form
class SearchForm(forms.Form):
genus = forms.CharField(max_length=100)
# species
species = forms.CharField(max_length=100)
# island group
island_group = forms.ModelChoiceField(queryset=Localitymayor.objects.values_list('islandgroup', flat=True).distinct('islandgroup').exclude(islandgroup="n/a").order_by('islandgroup'), empty_label=_("Not Specified"))
# island name
island_name = forms.ModelChoiceField(queryset=Localitymayor.objects.values_list('islandname', flat=True).distinct('islandname').exclude(islandname="n/a").order_by('islandname'), empty_label=_("Not Specified"))
мой шаблон вдоль линий:
<form action="{% url cdrs_search %}" method="post">{% csrf_token %}
{% for field in form %}
<div class="fieldWrapper">
{{ field.errors }}
{{ field.label_tag }}: {{ field }}
</div>
{% endfor %}
</form>
Теперь я хочу, чтобы фильтровать вывод island_name
в зависимости от выбора island_group
. В моем проекте php мне это удалось с вызовом ajax onChange на другой php-скрипт. Тем не менее, я немного потерял, как это сделать в Django. Поскольку это мой первый опыт работы с ajax в Django, я был бы признателен за любые предложения относительно наилучшего способа решения этой простой, но распространенной проблемы с фильтрованным меню. Заранее спасибо.
Почему в Django это должно быть иначе? Вам все еще нужна функция Ajax onChange, вызывающая вид на стороне сервера. –