如何使用动态数量的数据条目初始化一个formset

问题描述:

只能在运行我的代码之前知道数组中元素的数量时,才能使用数组的元素填充我的formset,即actuals_data 12代码,但是如何在数组中运行我的代码之前不知道数组中元素的数量,该代码来自变量count如何使用动态数量的数据条目初始化一个formset

我的看法是

def show_actuals(request): 

Account_Number_in = request.session['account_number'] 
Year_in = request.session['year'] 
count = request.session['count'] 
actuals_data = request.session['actuals_to_show'] 
months = request.session['months'] 
show_actuals_formset = formset_factory(FetchActualsBox, extra=0) 

formset = show_actuals_formset(initial=[{'Value': actuals_data[0]}, 
        {'Value': actuals_data[1]}, 
        {'Value': actuals_data[2]}, 
        {'Value': actuals_data[3]}, 
        {'Value': actuals_data[4]}, 
        {'Value': actuals_data[5]}, 
        {'Value': actuals_data[6]}, 
        {'Value': actuals_data[7]}, 
        {'Value': actuals_data[8]}, 
        {'Value': actuals_data[9]}, 
        {'Value': actuals_data[10]}, 
        {'Value': actuals_data[11]}, 
        ]) 



return render_to_response('ShowActualsData.html', {'formset' : formset , 'count' : count, 'actuals_data' : actuals_data , 'months' : months , 'Account_Number' : Account_Number_in , 'Year' : Year_in }) 

可以遍历并与物品的给定数量的创建列表。

示例代码:

def show_actuals(request): 

    Account_Number_in = request.session['account_number'] 
    Year_in = request.session['year'] 
    count = request.session['count'] 
    actuals_data = request.session['actuals_to_show'] 
    months = request.session['months'] 
    show_actuals_formset = formset_factory(FetchActualsBox, extra=0) 
    initial_list = [] 
    for data in actuals_data: 
     initial_list.append({'value': data}) 
    formset = show_actuals_formset(initial=initial_list) 
+0

请不要告诉人们使用计数器通过列表进行迭代。您应该遍历列表本身:'for actual_data ...',实际上可以在列表理解中完成。 –

+0

@DanielRoseman非常真实。更新了答案。 – Rohan

+0

@Rohan非常感谢!你们俩都救了我的一天! – nimeshkiranverma