【问题标题】:django: local variable referenced before assignmentdjango:赋值前引用的局部变量
【发布时间】:2014-04-23 09:32:18
【问题描述】:

我想进行一个简单的查询,但它引发了异常。

查看:

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

【问题讨论】:

    标签: django


    【解决方案1】:

    你有两个东西叫做department:你的模型和循环变量department_list。在函数中的任何位置分配一个名称会使其成为局部变量,因此会出现错误。

    快速解决方法是在循环中使用不同的变量名,但实际上你应该重命名你的模型:接受的风格是使用 InitialCaps 作为类名,包括模型,所以它应该是 Department。

    【讨论】:

    • 谢谢,这似乎有所帮助。
    猜你喜欢
    • 1970-01-01
    • 2011-10-31
    • 2020-05-05
    • 2020-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-02
    • 2011-11-06
    相关资源
    最近更新 更多