SQLAlchemy / WTForms:为QuerySelectField设置默认的选定值 [英] SQLAlchemy/WTForms: set default selected value for QuerySelectField

查看:2844
本文介绍了SQLAlchemy / WTForms:为QuerySelectField设置默认的选定值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这个[示例] [1]用Flask中的WTForms和SQLAlchemy建立一个表单,并向表单中添加一个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屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆