2016-06-01 3 views

답변

0

나는 당신이 원하지 않는 클래스를 필터링하기 위해 질의를 사용할 수 있도록 폼의 __init__ 메소드를 오버라이드한다고 생각한다. 이 쿼리는 현재 활동중인 학생이 누구인지 알아야하므로 학생을 키워드 인수로 전달해야합니다. 이 같은

뭔가 :보기에 다음

class NameOfForm(forms.Form)): 
    def __init__(self, *args, **kwargs): 
     current_student = kwargs.pop('student', None) 
     super(NameOfForm, self).__init__(*args, **kwargs) 
     classes_in_school = SchoolClass.objects.filter(school=current_student.school) 
     self.fields['name_of_field'] = ModelChoiceField(queryset = classes_in_school, 
                 required = True, 
                 label = "Choose a class") 

그리고, 양식을 만들 때, 여분의 인수로 현재 학생에 통과해야합니다. 다음과 같은 내용 :

form = NameOfForm(request.POST or None, student=request.student) 
관련 문제