Changeset 8179
- Timestamp:
- 08/01/08 15:35:40 (4 months ago)
- Files:
-
- django/trunk/django/forms/models.py (modified) (1 diff)
- django/trunk/tests/modeltests/model_formsets/models.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/django/forms/models.py
r8169 r8179 379 379 def add_fields(self, form, index): 380 380 """Add a hidden field for the object's primary key.""" 381 self._pk_field_name = self.model._meta.pk.attname 382 form.fields[self._pk_field_name] = IntegerField(required=False, widget=HiddenInput) 381 if self.model._meta.has_auto_field: 382 self._pk_field_name = self.model._meta.pk.attname 383 form.fields[self._pk_field_name] = IntegerField(required=False, widget=HiddenInput) 383 384 super(BaseModelFormSet, self).add_fields(form, index) 384 385 django/trunk/tests/modeltests/model_formsets/models.py
r8178 r8179 29 29 def __unicode__(self): 30 30 return self.name 31 32 class CustomPrimaryKey(models.Model): 33 my_pk = models.CharField(max_length=10, primary_key=True) 34 some_field = models.CharField(max_length=100) 31 35 32 36 … … 331 335 <p><label for="id_test-1-title">Title:</label> <input id="id_test-1-title" type="text" name="test-1-title" maxlength="100" /><input type="hidden" name="test-1-id" id="id_test-1-id" /></p> 332 336 337 # Test a custom primary key ################################################### 338 339 We need to ensure that it is displayed 340 341 >>> CustomPrimaryKeyFormSet = modelformset_factory(CustomPrimaryKey) 342 >>> formset = CustomPrimaryKeyFormSet() 343 >>> for form in formset.forms: 344 ... print form.as_p() 345 <p><label for="id_form-0-my_pk">My pk:</label> <input id="id_form-0-my_pk" type="text" name="form-0-my_pk" maxlength="10" /></p> 346 <p><label for="id_form-0-some_field">Some field:</label> <input id="id_form-0-some_field" type="text" name="form-0-some_field" maxlength="100" /></p> 333 347 334 348 """}
