如何在flask中定义选择字段

时间:2015-02-01 08:34:33

标签: python flask sqlalchemy flask-sqlalchemy

我想在python中定义一个选择字段,即仅限于一组值的字段。我怎么能在flask框架中做到这一点。我在以下来源的选择字段中找不到任何内容:

Declaring Models SQLAlchemy in Flask

我正在使用sqlalchemy进行ORM。

1 个答案:

答案 0 :(得分:0)

我假设您指的是表单中具有有限选项集的字段;要执行此操作,您可以使用WTForms及其extensions,以便您可以使用模型创建表单。

完成后,您可以根据模型条件限制字段的选择。

由于您尚未发布您的模型,以下示例为您提供有关如何运作的说明:

def enabled_categories():
    return Category.query.filter_by(enabled=True)

class BlogPostEdit(Form):
    title    = TextField()
    blog     = QuerySelectField(get_label='title')
    category = QuerySelectField(query_factory=enabled_categories,
                                allow_blank=True)

def edit_blog_post(request, id):
    post = Post.query.get(id)
    form = ArticleEdit(obj=post)
    # Since we didn't provide a query_factory for the 'blog' field, we need
    # to set a dynamic one in the view.
    form.blog.query = Blog.query.filter(Blog.author == request.user) \
                                .order_by(Blog.name)