Django Формы: Как создать простой выпадающий список в форме, используя значения из существующей модели - PullRequest
0 голосов
/ 25 января 2020

Я новичок в Django и изо всех сил пытаюсь найти лучший / правильный способ заполнения выпадающего списка в ModelChoiceField внутри формы, используя список, который я сохранил в базе данных. Код basi c, приведенный ниже, прекрасно работает с моим представлением, передающим форму в качестве контекста моему шаблону, но раскрывающийся список возвращает список, похожий на «словарь», с уродливостью или скобками, двоеточиями и именем ключа (см. Вложение)

from django import forms
from .models import constituency

class ConstituencyForm(forms.Form):
    ConstituencySelection = forms.ModelChoiceField(queryset=constituency.objects.all().values('name'))

I want just the area name in this dropdown list

Мои вопросы:

1 / Цель этой страницы - выбрать из выпадающего списка одну из 650 областей и выделить ее. на карте. Является ли это подходящим способом решения задачи (с использованием набора запросов внутри самой формы)?

2 / Как мне очистить этот список, он должен просто прочитать: -

  Aldershot

  Aldridge-Brownhills

  Altrincham and Sale West

и так далее и так далее

Ваша помощь будет всегда цениться!

Спасибо,

Фил # anoobinneed

1 Ответ

0 голосов
/ 26 января 2020

Использование values_list () с flat=True сделает это.

Изменение:

queryset=constituency.objects.all().values('name')

Кому:

queryset=constituency.objects.all().values_list('name', flat=True)
...