Цикл обработки данных формы 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 полями:

django simple array field

how-to-define-arrayfield-to-django-forms

Вернуться на верх