SQLAlchemy / WTForms:为QuerySelectField设置默认的选定值 [英] SQLAlchemy/WTForms: set default selected value for QuerySelectField
问题描述
flask.ext.sqlalchemy
,我的代码: ContentForm = model_form(Content,base_class = Form)
ContentForm.author = QuerySelectField('Author',get_label =name)
myform = ContentForm(request.form,content)
myform。 author.query = query_get_all(作者)
现在我想设置默认值QuerySelectField的选择列表。
$ b 尝试在QuerySelectField中传递
默认值
kwarg并设置选中
属性。没有工作。我错过了什么明显的?有人可以帮忙吗?您需要设置您的默认
关键字参数到作者
你想成为默认的实例:
#假设,假设当前用户最有意义
#这仅仅是一个例子,为了
user = Authors.get(current_user.id)
ContentForm。 author = QuerySelectField('Author',get_label ='name',default = user)
可以将实例提供给实例化的字段:
#只有当
#author是不在request.form或内容
myform = ContentForm(request.form,obj = content,author = user)
This [example][1] to set up a form with WTForms and SQLAlchemy in Flask and add a QuerySelectField to the form works. I am not using flask.ext.sqlalchemy
, my code:
ContentForm = model_form(Content, base_class=Form)
ContentForm.author = QuerySelectField('Author', get_label="name")
myform = ContentForm(request.form, content)
myform.author.query = query_get_all(Authors)
Now I want to set the default value of the QuerySelectField's selectlist.
Tried passing a default
kwarg in QuerySelectField and setting selected
attributes. Nothing worked. Am I missing something obvious? Can someone help?
You need to set your default
keyword argument to the instance of Authors
that you want to be the default:
# Hypothetically, let's say that the current user makes the most sense
# This is just an example, for the sake of the thing
user = Authors.get(current_user.id)
ContentForm.author = QuerySelectField('Author', get_label='name', default=user)
Alternately, you can provide the instance to the field on instantiation:
# The author keyword will only be checked if
# author is not in request.form or content
myform = ContentForm(request.form, obj=content, author=user)
这篇关于SQLAlchemy / WTForms:为QuerySelectField设置默认的选定值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!