Я использую только административный интерфейс django, и у меня проблема в том, что, когда кто-то выбирает в качестве примера "страну", я хочу показать на втором, выберите "город" этой страны. Я уже сделал, мой файл json у меня на виду, и я хочу получить свой файл json и показать его в javascript, и я не знаю, как это сделать.
МОЕ ПРИМЕНЕНИЕ:
myproject/
|-- myproject
|-- daa/
|-- avarias/
|-- models.py
|-- mapeamento/
|-- models.py
|-- views.py
|-- static/
|-- daa/
|-- avarias/
|-- admin/
|-- js/
|-- example.js
|-- templates/
|-- admin/
|-- daa/
|-- change_form.html
МОИ URL
urlpatterns = [
path('', admin.site.urls, name ='home'),
path('rua/list/', get_ruas, name='get_ruas'),
]
МОИ МОДЕЛИ:
#Mapeamento Model
class Freguesia(models.Model):
id = models.IntegerField("Freguesia ID", primary_key=True)
nome = models.CharField("Freguesia",max_length=200)
def __str__(self):
return self.nome
class Rua(models.Model):
id = models.IntegerField("Rua id", primary_key=True)
freguesia = models.ForeignKey(Freguesia, on_delete=models.CASCADE)
nome = models.CharField("Rua",max_length=200)
def __str__(self):
return self.nome
#daa/avarias Model
from mapeamento.models import freguesia
from mapeamento.models import rua
class Avaria(models.Model):
freguesia = models.ForeignKey(Freguesia, on_delete=models.CASCADE,verbose_name="Freguesia")
rua = models.ForeignKey(Rua, on_delete=models.CASCADE,verbose_name="Rua")
def __str__(self,):
return str(self.id)
МОЙ MAPEAMENTO.VIEW
import json
from django.http import HttpResponse
from django.shortcuts import get_object_or_404
from .models import Freguesia, Rua
def get_ruas(request):
freguesia_id = request.GET.get('freguesia_id')
freguesia = get_object_or_404(Freguesia, pk=freguesia_id)
res = Rua.objects.filter(freguesia=freguesia).order_by('nome').values('id', 'nome')
result = {
'ruas': list(Rua.objects.filter(freguesia=freguesia).order_by('nome').values('id', 'nome'))
}
return HttpResponse(json.dumps(result), content_type="application/json")
МОЕ CHANGE_FORM.HTML
{% extends "admin/change_form.html" %}
{% block extrahead %}
{{ block.super }}
<script
# DO SOMETHING
</script>
{% endblock %}
Так что сейчас я не знаю, что делать, когда я захожу в свой браузер и ставлю rua / list /? Freguesia_id = 10001 , это работает, но теперь я хочу показать эти значения на моем select ,