2016-12-13 9 views
0

사용자 회사의 그룹 만 표시하는 선택 메뉴를 필터링해야합니다. sqlalchemy를 사용하면 QuerySelectField가 있지만 플라스크 - 몽고 엔진에서는 사용할 수없는 것 같습니다. 이상적으로, 나는 다음과 같이 model_form하는 CURRENT_USER를 flask_login 통과 싶습니다 그러나model_form에서 current_user를 사용하는 방법

wtfUser = model_form(User, wtf.Form, exclude=[ 'password'], field_args = { 
    'group' : { 'queryset': Group.objects(company = current_user.group.company) }, 
    'roles' : { 'queryset': Role.objects(name__ne = 'admin').order_by('name') } 
}) 

을,이 요청 컨텍스트 외부 CURRENT_USER를 배치하기 때문에,이 오류가 발생합니다. 아무도 이것을하는 방법에 영리한 아이디어가 있습니까?

+0

관련 GitHub 문제 : https://github.com/MongoEngine/flask-mongoengine/issues/290 –

답변

0

그러나 가장 우아한 방법은 아닙니다. views.py에서는 다음 작업을 수행합니다. 좀 더 나은 접근 방법이 있으면 게시하십시오.

def user(id): 
    user = User.objects.get_or_404(id = id) 
    wtf_user = wtfUser(obj = user) 
    wtf_user.group.queryset = Group.objects(id = current_user.group.id) 
    return render_template('user.html', wtf_user = wtf_user)