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