GOAL: Отправьте словарь данных в форму, которая будет использоваться в раскрывающемся окне.Django: отправить словарь/данные списка в форму
Views.py
form = FormsdbForm(initial={'user': default_state})
# (to set the default value of the 'user' field)
Forms.py
class FormsdbForm(forms.ModelForm):
ROOMLIST = (('roomID_abcdefghi','Room ABC'),
('roomID_jklmnopqr','Room JKL'))
roomid = forms.ChoiceField(required=False, choices=ROOMLIST)
class Meta:
model = Formsdb
fields = ('user', 'uniqueid', 'roomid')
выше настройки отображает форму, где поле 'RoomID' представляет собой выпадающий список, показывающий для записей:
- Номер ABC
- Номер JKL
После сохранения база данных заполнена совпадающим «RoomID_xxxxxxxxx» Идеально!
В моем Views.py У меня есть словарь (который я могу легко преобразовать в список списков) с данными, которые теперь статически настроены в Forms.py (ROOMLIST).
ВОПРОС:Как передать этот словарь (или список) в форму, чтобы он отображал раскрывающийся список с вариантами?
Это заменит текущую переменную «ROOMLIST», и она может легко содержать 400-600 записей.
Фантастическая .. Это похоже на работу .. Теперь Я должен найти способ конвертировать * список словарей * в кортежи из кортежей :-(Исходными данными являются ____ '[{" roomid_ABC ":" roomname_ABC "}, {" roomid_ABC "," roomname_ABC "} ] '__ любые идеи? мозг болит .. (по крайней мере, это означает, что формат должен быть кортежем) – user7446236
@ user7446236 Хорошо, чтобы ввести dict в список кортежей; '[(k, v) для k, v в d.iteritems()]', поэтому просто добавьте список таким же образом. И, может быть, примите мой ответ;) –
Отлично, спасибо! извинения за задержку, был занят, пытаясь устранить эту последнюю вещь. ;-) – user7446236