【问题标题】:TypeError when trying to access formset.cleaned_data.get['field']尝试访问 formset.cleaned_data.get['field'] 时出现 TypeError
【发布时间】:2016-05-25 01:03:40
【问题描述】:

我正在尝试遍历表单集中的所有表单并获取所有值,但收到以下错误:

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)

【问题讨论】:

    标签: python django django-forms


    【解决方案1】:

    get() 方法调用需要使用括号。替换:

    cd.get['StartTime']
    

    与:

    cd.get('StartTime')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-10
      • 2021-12-11
      • 2017-10-17
      • 2020-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-22
      相关资源
      最近更新 更多