#12561 closed (fixed)
The ``can_delete`` argument of ``generic_inlineformset_factory`` isn't working
| Reported by: | Piaume | Owned by: | Natalia Bidart |
|---|---|---|---|
| Component: | contrib.admin | Version: | 1.1 |
| Severity: | Keywords: | ||
| Cc: | Triage Stage: | Accepted | |
| Has patch: | yes | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description (last modified by )
When the can_delete argument of generic_inlineformset_factory is set to False, a "Delete" checkbox is always displayed on the admin site.
Here a short example:
class SomeModel(models.Model):
content_type = models.ForeignKey(ContentType)
object_id = models.PositiveIntegerField()
content_object = generic.GenericForeignKey('content_type', 'object_id')
class SomeInlineFormset(generic.GenericStackedInline):
model = SomeModel
formset = generic.generic_inlineformset_factory(SomeModel, can_delete=False)
extra = 0
class SomeModelAdmin(admin.ModelAdmin):
inlines = [SomeInlineFormset]
Attachments (3)
Change History (11)
by , 16 years ago
| Attachment: | django_cantdelete_bug.png added |
|---|
comment:1 by , 16 years ago
| Summary: | The ``cant_delete`` argument of ``generic_inlineformset_factory`` isn't working → The ``can_delete`` argument of ``generic_inlineformset_factory`` isn't working |
|---|
comment:2 by , 16 years ago
| Component: | Contrib apps → django.contrib.admin |
|---|---|
| Description: | modified (diff) |
| milestone: | → 1.2 |
| Triage Stage: | Unreviewed → Accepted |
It's probably not the reason for your original report, but the admin UI merge seems to have completely broken Generic inline formsets. I can't get them to work at all, with or without can_delete.
comment:3 by , 16 years ago
| Owner: | changed from to |
|---|---|
| Status: | new → assigned |
comment:4 by , 16 years ago
Submitting patch to have InlineModelAdmin.get_formset passing can_delete and can_order to inlineformset_factory.
Tests are also included, but not for can_order. I couldn't find a way to test it, since the admin GUI looks the same when can_order is either True or False. Ideas are welcomed!
by , 16 years ago
| Attachment: | patch-12561.diff added |
|---|
by , 16 years ago
| Attachment: | patch-12561-1.diff added |
|---|
Improved the tests. Added default values on parent class for can_delete and can_order. Ran the whole test suite, all green.
comment:5 by , 16 years ago
| Has patch: | set |
|---|
comment:6 by , 16 years ago
| Resolution: | → fixed |
|---|---|
| Status: | assigned → closed |
Bug result on the admin site (there is a "Delete" checkbox)