gpt4 book ai didi

python - WTForms Selectfield - 如何只获取特定列的值?

转载 作者:行者123 更新时间:2023-11-29 07:28:02 26 4
gpt4 key购买 nike

首先,我最近才开始使用 Flask,所以我现在完全是个新手,但我喜欢它,希望能在以后的过程中提高我的技能。但是,我可能缺少一些非常基本的东西,例如:我创建了包含 selectfield 的表单:

class AddProductForm(Form):
subcategory = SelectField('')

然后我从查询中获取结果并将它们应用于 SelectField 的选择。

...

cur = conn.cursor()

cur.execute("SELECT name FROM subcategory")

subcategories = cur.fetchall()

cur.close()

form = AddProductForm(CombinedMultiDict((request.files, request.form)))

form.subcategory.choices = [(subcat, subcat) for subcat in subcategories]

...

到目前为止一切正常,我在 SelectField 中获得了所有结果,但我也将它们与列的名称一起返回,所以基本上选择字段的每个选项的值看起来像这样格式化(其中'name' 是数据库中列的名称:

{'name': 'Gears and bolts'}

我的问题 - 是否可以只显示值(在本例中为“Gears and bolts”)作为选择字段的选项文本,而不是之前的整行?

谢谢。

最佳答案

我想通了,基于这个答案 here ,我会把答案放在这里,以防万一有人需要它。基本上,我改变了这一行:

form.subcategory.choices = [(subcat, subcat) for subcat in subcategories]

以下内容:

form.subcategory.choices = [(subcat, subcat['name']) for subcat in subcategories]

该死的……那是一些基本的东西,伙计。以前,我试图使用 subcat.name 而不是 subcat['name'],这显然是错误的访问值的方法,我得到了 AttributeError: 'dict' 对象没有属性 'name'

关于python - WTForms Selectfield - 如何只获取特定列的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52917031/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com