Извлечение связанных полей или Ключей вместо значения с помощью метода request.POST.get в Django
У меня есть 2 таблицы в базе данных Django db.sqlite3 обе имеют state_id в качестве общего поля, на основе которого я должен отобразить округа для соответствующих штатов в выпадающем списке с помощью Jquery
state_database
id state_id state_name
3 3 Uttarakhand
2 2 Punjab
1 1 Haryana
district_database
id state_id district_id district_name
1 1 1 Sonipat
2 1 2 Rohtak
3 1 3 Amabala
4 1 4 Sirsa
5 2 5 Amritsar
6 2 6 Ludhiana
7 3 7 Pantnagar
8 3 8 Almora
Для этого мне пришлось присвоить common field / state_id значение в HTML как value= '{{state.state_id}}'
<select class="form-control" id="state_from_dropdown" name="state_from_dropdown" aria-label="...">
<option selected disabled="true"> --- Select State --- </option>
{% for state in StatesInDropdown %}
<option value= '{{state.state_id}}'> {{state.state_name}} </option>
{% endfor %}
</select>
<select class="form-control" id="district_from_dropdown" name="district_from_dropdown" aria-label="...">
<option selected disabled="true"> --- Select District --- </option>
{% for disitrict in DistrictsInDropdown %}
<option value= '{{disitrict.state_id}}'> {{disitrict.district_name}} </option>
{% endfor %}
</select>
Views.py
def inputconfiguration(request):
if request.method == "POST":
StateName=request.POST.get('state_from_dropdown')
DistrictName=request.POST.get('district_from_dropdown','')
print(StateName, DistrictName)
return render(request, 'configure_inputs.html')
Вместо того, чтобы получить фактические поля/имена, которые появляются в выпадающем списке, я получаю значения ID, но мне нужны названия штатов и округов вместо их ID
models.py
class state_name(models.Model):
state_id = models.PositiveIntegerField(validators=[MinValueValidator(1.0), MaxValueValidator(100.0)])
state_name = models.CharField(max_length=100)
class district_name(models.Model):
state_id = models.PositiveIntegerField(validators=[MinValueValidator(1.0), MaxValueValidator(100.0)])
district_id = models.PositiveIntegerField(validators=[MinValueValidator(1.0), MaxValueValidator(100.0)])
district_name = models.CharField(max_length=100)
urls.py
urlpatterns = [
path('inputconfiguration', views.inputconfiguration, name='inputconfiguration')
]
Как это сделать?