Opened 17 years ago
Closed 14 years ago
#9588 closed New feature (fixed)
provide **kwargs argument to GenericInlineModelAdmin.get_formset
| Reported by: | Owned by: | Brian Rosner | |
|---|---|---|---|
| Component: | contrib.contenttypes | Version: | dev |
| Severity: | Normal | Keywords: | |
| Cc: | Triage Stage: | Ready for checkin | |
| Has patch: | yes | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
InlineModelAdmin.get_formset provides kwargs to override defaults:
def get_formset(self, request, obj=None, **kwargs):
"""Returns a BaseInlineFormSet class for use in admin add/change views."""
if self.declared_fieldsets:
fields = flatten_fieldsets(self.declared_fieldsets)
else:
fields = None
if self.exclude is None:
exclude = []
else:
exclude = self.exclude
defaults = {
"form": self.form,
"formset": self.formset,
"fk_name": self.fk_name,
"fields": fields,
"exclude": exclude + kwargs.get("exclude", []),
"formfield_callback": self.formfield_for_dbfield,
"extra": self.extra,
"max_num": self.max_num,
}
defaults.update(kwargs)
return inlineformset_factory(self.parent_model, self.model, **defaults)
Shouldn't we do the same for GenericInlineModelAdmin.get_formset ?
Potential Patch:
def get_formset(self, request, obj=None, **kwargs):
if self.declared_fieldsets:
fields = flatten_fieldsets(self.declared_fieldsets)
else:
fields = None
defaults = {
"ct_field": self.ct_field,
"fk_field": self.ct_fk_field,
"form": self.form,
"formfield_callback": self.formfield_for_dbfield,
"formset": self.formset,
"extra": self.extra,
"can_delete": True,
"can_order": False,
"fields": fields,
}
defaults.update(kwargs)
return generic_inlineformset_factory(self.model, **defaults)
I chose the "Contrib Apps" component because there is no "contrib.contenttypes".
Attachments (2)
Change History (13)
comment:1 by , 17 years ago
| Owner: | changed from to |
|---|---|
| Status: | new → assigned |
| Triage Stage: | Unreviewed → Accepted |
comment:2 by , 17 years ago
If you're having a go at fixing this one, you should consider fixing #9122 at the same time, it's kinda related in the "Make the GenericInlineModelAdmin more like the InlineModelAdmin" category. :)
comment:3 by , 16 years ago
| milestone: | → 1.2 |
|---|---|
| Version: | 1.0 → SVN |
comment:4 by , 16 years ago
| milestone: | 1.2 |
|---|
1.2 is feature-frozen, moving this feature request off the milestone.
comment:5 by , 15 years ago
| Component: | Contrib apps → contrib.contenttypes |
|---|
comment:6 by , 15 years ago
| Needs tests: | set |
|---|---|
| Severity: | → Normal |
| Type: | → New feature |
by , 14 years ago
comment:7 by , 14 years ago
| Easy pickings: | unset |
|---|---|
| Needs tests: | unset |
comment:8 by , 14 years ago
| Needs tests: | set |
|---|
Thanks a lot for the patch. It is a simple change but tests are still needed. Passing a couple of kwargs and making sure that they override the defaults would be enough.
comment:9 by , 14 years ago
| Needs tests: | unset |
|---|
I was just thinking about this today as I was going through this code.