В Django я не могу получить форму для отображения на странице HTML, несмотря на несколько попыток решения. Цель состоит в том, чтобы создать простое выпадающее меню из содержимого базы данных.
Я пробовал несколько решений, упомянутых в нескольких постах, но ни одно из них не сработало
models.py
class Set(models.Model):
cruise = models.IntegerField(verbose_name=_("cruise"))
set = models.IntegerField(verbose_name=_("set"))
def __str__(self):
return self.name
forms.py
class SetChoiceField(forms.Form):
set = forms.ModelChoiceField(
queryset = Set.objects.values_list("set_number",
flat=True).distinct(),
empty_label = None
)
views.py
def index(request):
query_results = Set.objects.all()
set_list = SetChoiceField()
context = {
'query_results': query_results,
'set_list': set_list,
}
return render(request,'base.html', context)
base.html
<h2>Set drop down menu</h2>
<form method="post" novalidate>
{% csrf_token %}
<table>
{{ set_list.as_table }}
</table>
<button type="submit">Save</button>
</form>
Ожидаемый результат - это выпадающее меню со списком всех наборов, содержащихся в базе данных (1-20)