2014-04-23 34 views
0

我想做一個簡單的查詢,但它會引發異常。django:分配之前引用的局部變量

查看:

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) 

系車型:

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

你有兩個東西叫做department:你的模型,而當你通過迭代department_list循環變量。在函數內的任何位置分配一個名稱會使其成爲局部變量,因此會導致錯誤。

速戰速決是在循環使用不同的變量名,但真的是你應該重命名模式:接受的風格是使用InitialCaps類的名稱,包括模型,所以它應該是處。

+0

謝謝,這似乎有所幫助。 – ThomasMX

相關問題