title: Django 2 ModelFormSet not submitting new entries
body: <p>I have a very simple Django grocery list app that I am using to learn the framework, and I'm using a modelformset to display/edit/add items in the list.  The problem I am having is that when I attempt to POST changes to the formset, it fails the .is_valid() condition.  formset.errors response is  <strong>[{'id': ['This field is required.']}, {}]</strong>, but all documentation/web lore says to not mess with the autogenerated id field, so I'm not sure why it is not working/why the ID field is not being generated.</p>
  
  <p>models.py</p>
  
  <pre><code>from django.db import models
  
  # Create your models here.
  class Grocery(models.Model):
      itemName = models.CharField(max_length=64)
      itemQuantity = models.IntegerField()
      itemChecked = models.BooleanField(default = False, blank = False, null = False)
  </code></pre>
  
  <p>forms.py</p>
  
  <pre><code>from django.forms import ModelForm
  from .models import Grocery
  
  class GroceryForm(ModelForm):
      class Meta:
          model = Grocery
          fields = ['itemName', 'itemQuantity', 'itemChecked']
  </code></pre>
  
  <p>views.py</p>
  
  <pre><code>from django.shortcuts import render
  from django.forms import modelformset_factory
  
  from .models import Grocery
  from .forms import GroceryForm
  
  def index(request):
  
      GroceryFormSet = modelformset_factory(Grocery,
      form=GroceryForm, 
      can_order=True,
      can_delete=True,
      )
  
      formset = GroceryFormSet(request.POST or None)
  
      if request.method == 'POST':
          print(formset.errors)
  
          if formset.is_valid():
              formset.save()
  
      context = {
          'formset': formset,
          }
  
      return render(request, "Lister/index.html", context)
  </code></pre>
  
  <p>index.html</p>
  
  <pre><code>&lt;form method="post" action=""&gt;
      {% csrf_token %}
      {{ formset.management_form }}
      &lt;table&gt;
          &lt;tr&gt;
              &lt;th&gt;Grocery Thing&lt;/th&gt;
              &lt;th&gt;Quantity&lt;/th&gt;
              &lt;th&gt;Got it?&lt;/th&gt;
              &lt;th&gt;Change Order&lt;/th&gt;
              &lt;th&gt;Delete?&lt;/th&gt;
  
           &lt;/tr&gt;
          {% for form in formset %}
          &lt;tr&gt;
              &lt;td&gt;{{ form.itemName }}&lt;/td&gt;
              &lt;td&gt;{{ form.itemQuantity }}&lt;/td&gt;
              &lt;td&gt;{{ form.itemChecked }}&lt;/td&gt;
              &lt;td&gt;{{ form.ORDER }}&lt;/td&gt;
              &lt;td&gt;{{ form.DELETE }}&lt;/td&gt;
           &lt;/tr&gt;
          {% endfor %}
      &lt;/table&gt;
      &lt;input type="submit" value="Save Changes" /&gt;
  &lt;/form&gt;
  </code></pre>
  
  <p>Thanks for your help.</p>