title: django-dynamic-formset issue when delete
body: <p>When I'm trying to remove a row, the formset send me the following error <code>[{}, {}, {}, {'id': ['This field is required']}]</code>.
  If I change the following parameter <code>can_delete=True</code> inside the modelformset_factory, I can delete object but rows stays display even after I pressed the remove button.
  I tried to add <code>{% if form.instance.pk %}{{ form.DELETE }}{% endif %}</code> in the template, it didn't change anything. </p>
  
  <p>I am using django 2.2 and <a href="https://github.com/elo80ka/django-dynamic-formset" rel="nofollow noreferrer">django-dynamic-formset</a>, the  country_fr/en come from <a href="https://django-modeltranslation.readthedocs.io/en/latest/installation.html" rel="nofollow noreferrer">modeltranslation</a>.</p>
  
  <p><strong>Views</strong></p>
  
  <pre><code>@login_required
  def view_countries(request):
      CountryFormSet = modelformset_factory(
          Country,
          fields=('country_fr', 'country_en'),
          formset=BaseCountryFormSet,
          can_delete=True)
      if request.method == 'POST':
          formset = CountryFormSet(request.POST)
          if formset.is_valid():
              formset.save()
      else:
          formset = CountryFormSet()
      context = {
          'formset': formset,
          'menu': 'cards',
          'menu_cards': 'countries',
          'model': _('countries'),
          'fields': [_('countries')+' [fr]', _('countries')+' [en]'],
      }
      return render(request, 'cards/index_formset.html', context)
  </code></pre>
  
  <p><strong>Html</strong></p>
  
  <pre><code>&lt;form method="post" class="mt-2"&gt;
    {% csrf_token %}
    {{ formset.management_form }}
  
    {% for form in formset %}
    &lt;div id="form" class="row_formset d-flex text-center mb-1"&gt;
      {% if form.instance.pk %}{{ form.DELETE }}{% endif %}
      {% for field in form.hidden_fields %}
      &lt;div class="invisible"&gt;
        {{ field }}
      &lt;/div&gt;
      {% endfor %}
      {% for field in form.visible_fields %}
      &lt;div class="flex-fill field"&gt;
        {{ field }}
      &lt;/div&gt;
      {% endfor %}
    &lt;/div&gt;
    {% endfor %}
  
    &lt;div class="d-flex mt-2 justify-content-center"&gt;
      &lt;input type="submit" value="{% trans 'submit'|capfirst %}" class="btn btn-primary"/&gt;
    &lt;/div&gt;
  &lt;/form&gt;
  </code></pre>
  
  <p><strong>Forms</strong></p>
  
  <pre><code>class BaseCountryFormSet(BaseModelFormSet):
      def clean(self):
          if any(self.errors):
              raise forms.ValidationError(
                  _('Errors : ')+f'{self.errors}'+'.',
                  code='unknow_error'
              )
          countries_fr = []
          countries_en = []
          duplicates = False
          for form in self.forms:
              if form.cleaned_data:
                  country_fr = form.cleaned_data['country_fr']
                  country_en = form.cleaned_data['country_en']
  
                  # Check that no row have the same country_fr or country_en
                  if country_fr and country_en:
                      if country_fr in countries_fr:
                          duplicates = True
                      countries_fr.append(country_fr)
  
                      if country_en in countries_en:
                          duplicates = True
                      countries_en.append(country_en)
  
                  if duplicates:
                      raise forms.ValidationError(
                          _('Some entries are duplicated.'),
                          code='duplicate_row'
                      )
  
                  # Check that all row have both country_fr and country_en
                  if country_en and not country_fr:
                      raise forms.ValidationError(
                          _('Some french entries are missing.'),
                          code='missing_country_fr'
                      )
                  elif country_fr and not country_en:
                      raise forms.ValidationError(
                          _('Some english entries are missing.'),
                          code='missing_country_en'
                      )
  </code></pre>
  
  <p><strong>Models</strong></p>
  
  <pre><code>class Country(models.Model):
      country = models.CharField(_('country'), max_length=100)
      slug = models.SlugField(editable=False, max_length=100)
  
      def save(self, *args, **kwargs):
          self.slug_fr = slugify(self.country_fr, allow_unicode=False)
          self.slug_en = slugify(self.country_en, allow_unicode=False)
          super().save(*args, **kwargs)
  </code></pre>