Ответ 1
При создании поля вы можете использовать аргументы ключевого слова choices
и default
, например:
my_choices = [('1', 'Choice1'), ('2', 'Choice2'), ('3', 'Choice3')]
SelectMultipleField(choices = my_choices, default = ['1', '3'])
Это будет отмечать выбранные варианты 1 и 3.
Изменить: Значения по умолчанию, по-видимому, обрабатываются (копируются в член data
), когда форма активируется, поэтому изменение значения по умолчанию не будет иметь никакого эффекта, если вы не вызовете вручную процесс ( ) на поле. Вы можете установить data
-member, например:
form.myfield.data = ['1', '3']
Но я не уверен, что любая из них - хорошая практика.
Изменить: Если вы хотите фактически установить данные, а не по умолчанию, вероятно, вы должны использовать форму для загрузки данных.
Form
объекты принимают formdata
в качестве первого аргумента и используют это для автоматического заполнения значений полей. (Предполагается, что для этого используется оболочка словаря с методом getlist)
Вы также можете использовать аргументы ключевых слов для установки данных при создании формы, например:
form = MyForm(myfield = ['1', '3'])