2017-04-16 108 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)