title: django two ModelForms with same field name on one template
body: <p>I have two models and both have field 'status' which has different meaning for them.</p>
  
  <pre><code>class Order(models.Model):
      ...
      status = models.PositiveIntegerField(default=0, choices=ORDER_STATUSES)
      ...
  
  class ACS(models.Model):
      status = models.IntegerField(default=-1, choices=STATUSES)
      order = models.ForeignKey(Order, blank=True, null=True)
      ...
  </code></pre>
  
  <p>Their forms looks like:</p>
  
  <pre><code>class ACSForm(forms.ModelForm):
      status = forms.ChoiceField(
          choices=STATUSES,
          widget=forms.Select(attrs={'class': 'form-control'})
      )
      ...
  
      class Meta:
         model = ACS
         fields = ('status',)
  
  class OrderACSEditForm(forms.ModelForm):
      status = forms.ChoiceField(
          choices=ORDER_STATUSES,
          widget=forms.Select(attrs={'class': 'form-control'})
      )
  
      class Meta:
          model = Order
          fields = ('status',)
  </code></pre>
  
  <p>I want to edit both this fields on the same page. My <strong>view.py</strong> looks like</p>
  
  <pre><code>def edit(request, item_id=""):
      data = ACS.objects.get(pk=item_id)
      form = ACSForm(instance=data)
      order = Order.objects.get(id=data.order.id)
      form_edit = OrderACSEditForm(instance=order)
      if request.POST:
          form = ACSForm(request.POST, instance=data)
          form_edit = OrderACSEditForm(request.POST)
          if form.is_valid() and form_edit.is_valid():
              form_edit.save()
              obj = form.save()
              messages.add_message(request, messages.SUCCESS, 'Your data successfully saved.')
  
          if request.POST['action'] == "save_stay":
              return redirect("/panel/packages/acs/edit/" + str(obj.id))
          else:
              return redirect("/panel/packages/acs/")
      return render(request, 'ui/packages/acs/edit.html', dict(data=data, form=form, form_edit=form_edit, item_id=item_id))
  </code></pre>
  
  <p>And <strong>template</strong>:</p>
  
  <pre><code>&lt;div class="form-group {% if form.status.errors %}has-error{% endif %}"&gt;
      &lt;label&gt;{% trans "Status" %}&lt;/label&gt;
          {% if form.status.errors %}
              {% for error in form.status.errors %}
                  &lt;label class="control-label"&gt;{{ error }}&lt;/label&gt;
              {% endfor %}
          {% endif %}
          {{ form.status }}
  &lt;/div&gt;
  
  &lt;div class="form-group {% if form_edit.status.errors %}has-error{% endif %}"&gt;
      &lt;label&gt;{% trans "Order status" %}&lt;/label&gt;
          {% if form_edit.status.errors %}
              {% for error in form_edit.status.errors %}
                  &lt;label class="control-label"&gt;{{ error }}&lt;/label&gt;
              {% endfor %}
          {% endif %}
          {{ form_edit.status }}
  &lt;/div&gt;
  </code></pre>
  
  <p>But in result form.status gets values from form_edit.status which is not correct. I need to solve this problem without changing names of model fields but don't know how.</p>