flask sqlalchemy wtf QuerySelectField返回重复项并添加不在数据库中的默认值

2024-09-28 03:16:52 发布

您现在位置:Python中文网/ 问答频道 /正文

  1. 如何在QuerySelectField中只返回dinct/unique值?在

    def getRequestor():
         u = Request.query.all()
         return u
    
    
    class filterRequests(Form):
         requestor = QuerySelectField(u'Requestor', 
         query_factory=getRequestor, 
         get_label=lambda x: x.requestedBy,get_pk=lambda x: x.requestedBy)
    

我想搞砸get-Tu-pk,但似乎没用。在

  1. 如何使wtf表单字段默认为不是列中的值“all”。在

谢谢你


Tags: lambdagetreturnrequestdefallqueryclass
2条回答

听起来你想用allow-yu blank

requestor = QuerySelectField(u'Team', query_factory=getRequestor, get_label='requestedBy', allow_blank=False, blank_text=(u'All'))

然后在您的视图中使用一些逻辑来检查queryselect字段是否为空,如果是,则将其视为“All”,或者从此以后您想对其进行的任何操作

我对我的回答不满意,但使用selectfield并执行以下操作:

在视图中:

@app.route("/request_management",methods=["GET","POST"])
@login_required
def Request_management():
    # import pdb;pdb.set_trace()
    form=filterRequests()
    RB= list(set([h.requestedBy for h in models.Request.query.all()]))
    RB.append('chet')
    form.requestor.choices=zip(RB,RB)

形式如下:

^{pr2}$

相关问题 更多 >

    热门问题