数据库中的Django HTML表单数组存储

时间:2015-04-02 04:15:26

标签: python html arrays django post

我在2年前在1.5中做了一个django应用程序,我希望用1.7更新它(更改服务器和旧应用程序不会运行)。 我有一个HTML表单,其中包含一些动态数据(添加了行),结果存储在POST上的HTML数组中。问题是我无法访问django中存储的数组。我想要JSON编码并将其存储在数据库中。

我使用带有django 1.5的get_post_dict使用更简单的HTML数组执行了一次,但我只是尝试再次使用django但是使用1.7。 我试过了request.POST.getlist。 我的HTML数组在POST上看起来像这样

invoice_1[items_attributes][description] u'Here Goes'
invoice_1[items_attributes][formatted_quantity]u'2'
invoice_1[items_attributes][sort_order] u'1'
invoice_1[items_attributes][category_id]    
invoice_1[items_attributes][sample]
invoice_1[items_attributes][unit] 
invoice_1[items_attributes][formatted_price] 
invoice_2[items_attributes][sort_order] u'2'
invoice_2[items_attributes][category_id] 
invoice_2[items_attributes][description] u'Another Item'
invoice_2[items_attributes][sample]         
invoice_2[items_attributes][formatted_price]        
invoice_2[items_attributes][unit] u'each'
invoice_2[items_attributes][formatted_quantity]

or
invoice[items_attributes][1][description] = u'Sample Item'
invoice[items_attributes][1][sort_order] = u'1'
invoice[items_attributes][1][formatted_quantity] = u'32'
invoice[items_attributes][1][formatted_price] = u'81'
invoice[items_attributes][2][unit] = u'each'
invoice[items_attributes][2][sample] = u''
invoice[items_attributes][2][sort_order] = u'2'
invoice[items_attributes][2][formatted_quantity] = u'22'
invoice[items_attributes][2][description] = u'Another Item'
invoice[expenses_attributes][3][description] = u'Gas Purchase'
invoice[expenses_attributes][3][rate] = u'3000'
invoice[expenses_attributes][3][quantity] = u'1'
invoice[expenses_attributes][3][amount] = u'3000'
invoice[items_attributes][2][formatted_price] = u'41'
invoice[expenses_attributes][3][sample] = u''

我所说的旧代码使用了更简单的数组,例如

invoice_0[name_and_description]
invoice_0[quantity]
invoice_0[price]
invoice_0[unit]

我能够使用get_post_dict(request.POST, 'invoice_0'),但现在我不知道如何解决这个问题。 注意:HTML表单不是我的设计,而是对2yrs旧应用程序使用的表单的改进。

0 个答案:

没有答案