我想在python中定义一个选择字段,即仅限于一组值的字段。我怎么能在flask框架中做到这一点。我在以下来源的选择字段中找不到任何内容:
Declaring Models SQLAlchemy in Flask
我正在使用sqlalchemy进行ORM。
答案 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)