2017-04-16 107 views
0

我有一个函数Groups.byorgid(arg1)它将获取特定组织的所有组。我之前在WTForms中使用了类似的代码,但函数不需要指定arg,但我需要将orgid arg传递给此函数,以便表单可以填充其下拉列表。我应该怎么做呢?将值传递给WTForms类

WTForm类:

class InviteUser(Form): 
    ''' Allows an org to invite a user ''' 
    groups = Groups.byorgid(orgid) 
    group = SelectField(
         coerce=int, 
         choices=[(g.id, g.name) for g in groups] 

函数调用的形式是这样的:

def invite_user(): 
    orgid = current_user.orguser().Organizations.id 
    form = user_forms.InviteUser() 

我是否需要该类创建InviteUser的方法?如果是这样,那应该是什么样子?

回答

0

这里是你如何可以动态添加字段:

def create_invite_user_form(orgid): 
    class InviteUser(Form): 
     pass 
    groups = Groups.byorgid(orgid) 
    group = SelectField(coerce=int, choices=[(g.id, g.name) for g in groups]) 
    setattr(InviteUser, "group", group) 
return InviteUser() 

并以此

form = user_forms.create_invite_user_form(orgid)