I';我在ajax的帮助下使用Python Django以1种形式使用3链式下拉列表,但我可以';t加载选定状态下的城市

I';我在ajax的帮助下使用Python Django以1种形式使用3链式下拉列表,但我可以';t加载选定状态下的城市,python,django,ajax,Python,Django,Ajax,这是我的url path('ajax/load-cities/', load_cities, name='ajax_load_cities'), 这是表单 这是form.py class AddSuburb_form(ModelForm): name = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Enter Suburb Name'})) class Meta:

这是我的url

path('ajax/load-cities/', load_cities, name='ajax_load_cities'),
这是表单
这是form.py

class AddSuburb_form(ModelForm):
name = forms.CharField(widget=forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Enter Suburb Name'}))

class Meta:
    model = Suburb
    fields = ['country', 'state', 'city', 'name']
    widgets = {
        'country': forms.Select(attrs={'class': 'form-control'}),
        'state': forms.Select(attrs={'class': 'form-control'}),
        'city': forms.Select(attrs={'class': 'form-control'}),
    }

def __init__(self, *args, **kwargs):
    super().__init__(*args, **kwargs)
    self.fields['state'].queryset = State.objects.none()

    if 'country' in self.data:
        try:
            country_id = int(self.data.get('country'))
            self.fields['state'].queryset = State.objects.filter(country_id=country_id).order_by('name')
        except (ValueError, TypeError):
            pass  # invalid input from the client; ignore and fallback to empty City queryset
    elif self.instance.pk:
        self.fields['state'].queryset = self.instance.country.state_set.order_by('name')

def __init__(self, *args, **kwargs):
    super().__init__(*args, **kwargs)
    self.fields['city'].queryset = City.objects.none()

    if 'state' in self.data:
        try:
            state_id = int(self.data.get('state'))
            self.fields['city'].queryset = City.objects.filter(state_id=state_id).order_by('name')
        except (ValueError, TypeError):
            pass  # invalid input from the client; ignore and fallback to empty District queryset
    elif self.instance.pk:
        self.fields['city'].queryset = self.instance.state.city_set.order_by('name')
这是模板
在这里,只有所选国家/地区下的州必须显示,同样,所选国家/地区下的城市也应该显示。我可以看到,各州运作良好,但城市却不行

<div class="col-md-3">
<h3>Template</h3>

<div class="drop-down">
    <form method="POST" action="{% url 'add_suburb' %}" id="AddSuburbForm">
        {% csrf_token %}
        {{form.as_p}}
        <button type="submit" class="btn btn-primary"> Save</button>
    </form>
</div>
views.py
这是加载城市的views.py
def load_cities(request):
state_id = request.GET.get('state_id')
cities = City.objects.filter(state_id=state_id).order_by('name')
return render(request, 'admin/city_dropdown_list_options.html', {'citiess': cities})
加载城市.html

<option value="">---Select---</option>
{% for city in citiess %}
<option value="{{ city.pk }}">{{ city.name }}</option>
{% endfor %}
——选择---
{城市中城市的百分比%}
{{city.name}
{%endfor%}
def load_cities(request):
state_id = request.GET.get('state_id')
cities = City.objects.filter(state_id=state_id).order_by('name')
return render(request, 'admin/city_dropdown_list_options.html', {'citiess': cities})
<option value="">---Select---</option>
{% for city in citiess %}
<option value="{{ city.pk }}">{{ city.name }}</option>
{% endfor %}