我如何循环浏览表单数据,其中结束部分可以是1、2、3、4等等,并在数据库中存储,而不必像下面这样对数据库进行硬编码,这样每个描述都会在自己的行上,但一个人可以在上发布描述1-10,另一个人可以发布描述10-27等等
例如,而不是说这个
order.description_1 = request.POST.get('description1')
order.length_1 = request.POST.get('length1')
order.width_1 = request.POST.get('width1')
order.depth_1 = request.POST.get('depth1')
order.weight_1 = request.POST.get('weight1')
order.description_2 = request.POST.get('description2')
order.length_2 = request.POST.get('length2')
order.width_2 = request.POST.get('width2')
order.depth_2 = request.POST.get('depth2')
order.weight_2 = request.POST.get('weight2')
当前表单通过请求。POST.get('description1'(,并且有请求限制。POST.get('description5'(,但希望每个描述都在自己的行上,不受硬限制,并使用一点javascript将x值附加到名称中。postdata表单也是硬编码的,因此不使用forms.py
request.POST
是一个python字典,因此您可以像这样循环它:
for key, value in request.POST.items():
print(key, value)
# set the property for order
# you can work on key and change it if need
setattr(order, key, value)
为了更好地实现这一要求,您可以使用带有ArrayField
字段的django表单:
django简单阵列字段
如何定义django表单的数组字段