Цикл обработки данных формы Django
Как я могу просмотреть данные формы, где окончание может быть 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')
В настоящее время форма передает request.POST.get('description1') и с ограничением request.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)
Для лучшей реализации этого требования вы можете использовать формы django с ArrayField
полями: