我正在尝试遍历formset中的所有表单并获取所有值但是收到以下错误:
TypeError:'builtin_function_or_method' object is not subscriptable'
回溯显示Post后有正确的值,但是说导致错误的行是:
time = cd.get['LunchDuration']
cd的值是:
{'DELETE': False,
'EndTime': datetime.time(3, 30),
'LunchDuration': 6,
'LunchTime': datetime.time(3, 30),
'StartTime': datetime.time(3, 30)}
我关注帖子Django accessing formset data,但在将局部变量设置为帖子数据之前会抛出错误。
这是我在Form.py中的代码:
def new_schedule(request):
if request.method == 'POST':
RNform = RNFormSet(request.POST, prefix='RN')
if RNform.is_valid():
nurses = []
for form in RNform:
cd = form.cleaned_data
time = cd.get['LunchDuration']
nurses.append(NurseSchedule(
StartTime=cd.get['StartTime'],
LunchTime=cd.get["LunchTime"],
LunchDuration=cd.get["LunchDuration"],
EndTime=cd.get["EndTime"]
))
context = {'RNSet': nurses}
return render(request, 'generate_schedule.html', context)
答案 0 :(得分:4)
您需要对get()
方法调用使用括号。替换:
cd.get['StartTime']
使用:
cd.get('StartTime')