Несмотря на то, что я прочитал документ django, я все еще не уверен, как использовать request.POST, чтобы получить значение из выпадающего списка, чтобы выполнить запрос к базе данных. И как вернуть детали выбранного значения обратно во внешний интерфейс, чтобы показать результат
Предположим, я могу выбрать "регион" в раскрывающемся списке, и он будет возвращать детали этого ресторана в этой категории региона
Класс Ресторан
class Restaurant(models.Model):
restId = models.AutoField(db_column='restId', primary_key=True)
restName = models.TextField(db_column='restName')
phone = models.IntegerField()
address = models.TextField()
ratings = models.DecimalField(max_digits=2, decimal_places=1)
cuisine = models.TextField()
region = models.TextField()
last_modify_date = models.DateTimeField(auto_now=True)
created = models.DateTimeField(auto_now_add=True)
class Meta:
managed = True
db_table = "restaurant"
views.py
# def index_view(request):
# rest_list = Restaurant.objects.all()
# context = {
# 'rest_list': rest_list
# }
# return render(request, 'index.html', context)
def get_name(request):
# region = Restaurant.objects.all().order_by('region').values_list('region', flat=True)
if request.method == 'GET':
rest_form = RestaurantForm()
return render(request, 'index.html', {'rest_form': rest_form})
index.html
{% block content %}
<form action="" method="post">
{% csrf_token %}
<select name = "rest_value">
{% for rest in rest_form %}
<option value = {{ rest }} ></option>
{% endfor %}
</select>
<input type="submit" value="Select" name="region">
</form>
{% endblock %}
forms.py
from django.forms import ModelForm
from .models import Restaurant
class RestaurantForm(ModelForm):
class Meta:
model = Restaurant
fields = ['region']