Opened 6 years ago
Closed 6 years ago
#30666 closed New feature (wontfix)
Use autocomplete_fields with models not registered in the admin
| Reported by: | Germano Gabbianelli | Owned by: | nobody |
|---|---|---|---|
| Component: | contrib.admin | Version: | 2.2 |
| Severity: | Normal | Keywords: | |
| Cc: | Triage Stage: | Unreviewed | |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
I think we should add the possibility to use autocomplete_fields with models not registered in the admin.
For a simple use case consider that I might be attempting to customize the default UserAdmin, by replacing all the filter_horizontal fields with autocomplete_fields:
from django.contrib.auth.admin import admin, User, UserAdmin
admin.site.unregister(User)
@admin.register(User)
class UserAdmin(UserAdmin):
filter_horizontal = ()
autocomplete_fields = ("groups", "user_permissions")
This works for groups, because by default Group is registered in the admin, but won't work for user_permissions giving the following error:
<class 'djfoo.admin.UserAdmin'>: (admin.E039) An admin for model "Permission" has to be registered to be referenced by UserAdmin.autocomplete_fields.
In this specific case I don't want to register Permission with the admin, but I think I should be able to use different UI widgets for ManyToMany fields interchangeably.
This would require a major restructuring of the way
autocomplete_fieldsfunctions. Maybe that's feasible but it would need a concrete proposal — exactly how is that going to work? — and agreement based on that via the DevelopersMailingList before I think we can take it on.