Как сделать queryset равным списку в django webapp?
Предположим, что у меня есть модель под названием "Test" в models.py, а функция представления в views.py выглядит следующим образом:
def app_view(request):
if request.method == 'POST':
form = AppForm(request.POST)
if form.is_valid:
...
else:
form = AppForm()
the_query = Test.objects.all().values_list('test_field')
the_list = list(the_query)
the_length = len(the_list)
form.fields['test_field'].queryset = [the_list[x] for x in range(0,the_length)]
return render(...)
Потому что элемент в "the_query" имеет тип tuple, но мне нужен тип str, поэтому я преобразовываю набор queryset в список, но во второй последней строке мне нужно сделать набор queryset равным списку, но я получаю AttributeError, поэтому я хочу знать, есть ли другой способ достичь моего требования?
Не рассматривая всю модель & определение формы, это может сделать:
def app_view(request):
if request.method == 'POST':
form = AppForm(request.POST)
if form.is_valid:
...
else:
form = AppForm()
form.fields['test_field'].queryset = Test.objects.all()
return render(...)
Дополнительная информация здесь