doniyor
doniyor

Reputation: 37876

how to submit a form with multiple objects - django

I have multiple objects in a form:

<form action="/someurl/" method="post">{% csrf_token %}  
 {% for each in products %}
  <tr>
   <td style="display:none">
      <input name="obj_id" value="{{each.id}}" />
   </td>
   <td>
      {{each.name}}
      <input name="obj_name" type="hidden" value="{{each.name}}" />
   </td>
   <td>
      {{each.size}}
      <input name="obj_size" type="hidden" value="{{each.size}}" />
   </td>
   <td>
      {{each.number}}
      <input name="obj_number" type="hidden" value="{{each.number}}" />
   </td>
  </tr>
 {% endfor %} 
<input type="submit" value="Send Objects" />
</form>

I am wondering how to catch each object and its name,size and number in my views.py. what is the best way for it?

thanks

Upvotes: 1

Views: 646

Answers (1)

doniyor
doniyor

Reputation: 37876

i end up with this solution, writing just for case someone can use it or you can correct me if i am wrong somewhere.

def viewfunc(request):
   objids = request.POST.getlist('obj_id')
   names = request.POST.getlist('obj_name')
   sizes = request.POST.getlist('obj_size')
   numbers = request.POST.getlist('obj_number')
   res = []
   for objid, name, size, number in zip(objids,names,sizes,numbers):
       innerlist = []
       innerlist.append(objid+', '+name+', '+size+', '+number)
       res.append(innerlist)
   """
    now res has all objects as list elements 
   """

Upvotes: 1

Related Questions