2014-04-23 4 views
0

간단한 쿼리를 만들고 싶었지만 예외가 발생했습니다.django : 할당 전에 참조 된 로컬 변수

보기 : 당신은 department을 두 가지를 불렀다

class department(models.Model): 
    departmentName = models.CharField(max_length = 20) 
    leaders = models.CharField(max_length = 20) 
    logoPath = models.CharField(max_length = 150) 
    def __str__(self): 
     return self.departmentName 

답변

0

:

from callidus_app.models import department 
... 
def select_department(request): 
    context = RequestContext(request) 
    department_list = department.objects.all() #local variable 'department' referenced before assignment 

    context_dict = {'departments': department_list} 
    for department in department_list: 
     department.url=department.departmentName.replace(' ','_') 

    return render_to_response('callidus_app/select_department.html', context_dict,context) 

부서 모델 모델, 당신은 department_list을 반복 루프 변수입니다. 함수 내의 어느 위치 에나 이름을 할당하면 해당 변수가 지역 변수가되므로 오류가 발생합니다.

빠른 수정은 루프에서 다른 변수 이름을 사용하는 것이지만 실제로는 모델의 이름을 바꾸어야합니다. 허용 된 스타일은 모델을 포함하여 클래스 이름에 InitialCaps를 사용하는 것이므로 Department 여야합니다.

+0

감사합니다. 도움이 된 것으로 보입니다. – ThomasMX

관련 문제