0
empname = Leave.objects.filter(created_by=self.request.user)[0].emp_id_requested_for
                       typelist = TypeAssign.objects.filter(emp_id__emp_name=empname)
output = {}

data = Leave.objects.filter(created_by=self.request.user)

for x in data:
    output[x.leave_type_id] = [0,0]

for t in data:
    output[t.leave_type_id][0] = (t.total_approve_leave + output[t.leave_type_id][0])

for x in typelist:
    **output[LeaveType.objects.get(type_name=x)][1] = LeaveType.objects.get(type_name=x).max_duration**

ctx["output"] = output

return ctx
4

1 回答 1

1

好像你的意思是:

output[LeaveType.objects.get(type_name=x).id][1]

因为您在其他地方设置的键是 ID,而不是 LeaveType 实例。

通常,如果您使用中间变量而不是在 dict 查找中进行调用,您的代码会更清晰。

于 2013-05-07T11:40:35.220 回答