Index: django/forms/models.py
===================================================================
--- django/forms/models.py	(revision 8330)
+++ django/forms/models.py	(working copy)
@@ -320,6 +320,10 @@
         if self.model._meta.has_auto_field:
             self._pk_field_name = self.model._meta.pk.attname
             form.fields[self._pk_field_name] = IntegerField(required=False, widget=HiddenInput)
+        elif len(self.model._meta.parents) == 1:
+            self._pk_field_name = self.model._meta.pk.attname
+            form.fields[self._pk_field_name] = IntegerField(required=False, widget=HiddenInput,
+                initial=self.instance.pk) 
         super(BaseModelFormSet, self).add_fields(form, index)
 
 def modelformset_factory(model, form=ModelForm, formfield_callback=lambda f: f.formfield(),
