#33261 closed Bug (duplicate)
Autocomplete field triggers a PermissionDenied error
| Reported by: | Gianluca Romanin | Owned by: | nobody |
|---|---|---|---|
| Component: | contrib.admin | Version: | 3.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 added to my code a autocomplete field in the ModelAdmin class of a model name UserData
Code is pretty simple:
@admin.register(UserData)
class UserDataAdmin(admin.ModelAdmin):
list_display = ("fiscal_code", "company", "surname", "name")
fields = ["company", "name", "surname", "fiscal_code", "address", "identity_document"]
# FIXME: autocomplete does not work in Django 3.2.X. Downgraded to 3.1.X
autocomplete_fields = ["company"]
The interface shows "The results could not be loaded" and console shows the following errors:
Traceback (most recent call last):
File "C:\Users\username\AppData\Local\pypoetry\Cache\virtualenvs\kdocweb-1PRTDUa5-py3.9\lib\site-packages\django\contrib\admin\views\autocomplete.py", line 61, in process_request
app_label = request.GET['app_label']
File "C:\Users\username\AppData\Local\pypoetry\Cache\virtualenvs\kdocweb-1PRTDUa5-py3.9\lib\site-packages\django\utils\datastructures.py", line 78, in __getitem__
raise MultiValueDictKeyError(key)
django.utils.datastructures.MultiValueDictKeyError: 'app_label'
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "C:\Users\username\AppData\Local\pypoetry\Cache\virtualenvs\kdocweb-1PRTDUa5-py3.9\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
response = get_response(request)
File "C:\Users\username\AppData\Local\pypoetry\Cache\virtualenvs\kdocweb-1PRTDUa5-py3.9\lib\site-packages\django\core\handlers\base.py", line 181, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Users\username\AppData\Local\pypoetry\Cache\virtualenvs\kdocweb-1PRTDUa5-py3.9\lib\site-packages\django\contrib\admin\sites.py", line 250, in wrapper
return self.admin_view(view, cacheable)(*args, **kwargs)
File "C:\Users\username\AppData\Local\pypoetry\Cache\virtualenvs\kdocweb-1PRTDUa5-py3.9\lib\site-packages\django\utils\decorators.py", line 130, in _wrapped_view
response = view_func(request, *args, **kwargs)
File "C:\Users\username\AppData\Local\pypoetry\Cache\virtualenvs\kdocweb-1PRTDUa5-py3.9\lib\site-packages\django\views\decorators\cache.py", line 44, in _wrapped_view_func
response = view_func(request, *args, **kwargs)
File "C:\Users\username\AppData\Local\pypoetry\Cache\virtualenvs\kdocweb-1PRTDUa5-py3.9\lib\site-packages\django\contrib\admin\sites.py", line 232, in inner
return view(request, *args, **kwargs)
File "C:\Users\username\AppData\Local\pypoetry\Cache\virtualenvs\kdocweb-1PRTDUa5-py3.9\lib\site-packages\django\contrib\admin\sites.py", line 417, in autocomplete_view
return AutocompleteJsonView.as_view(admin_site=self)(request)
File "C:\Users\username\AppData\Local\pypoetry\Cache\virtualenvs\kdocweb-1PRTDUa5-py3.9\lib\site-packages\django\views\generic\base.py", line 70, in view
return self.dispatch(request, *args, **kwargs)
File "C:\Users\username\AppData\Local\pypoetry\Cache\virtualenvs\kdocweb-1PRTDUa5-py3.9\lib\site-packages\django\views\generic\base.py", line 98, in dispatch
return handler(request, *args, **kwargs)
File "C:\Users\username\AppData\Local\pypoetry\Cache\virtualenvs\kdocweb-1PRTDUa5-py3.9\lib\site-packages\django\contrib\admin\views\autocomplete.py", line 20, in get
self.term, self.model_admin, self.source_field, to_field_name = self.process_request(request)
File "C:\Users\username\AppData\Local\pypoetry\Cache\virtualenvs\kdocweb-1PRTDUa5-py3.9\lib\site-packages\django\contrib\admin\views\autocomplete.py", line 65, in process_request
raise PermissionDenied from e
django.core.exceptions.PermissionDenied
The issue is the same of ticket https://code.djangoproject.com/ticket/32659 and it is still not resolved in version 3.2.9.
Downgrading to version 3.1.13 resolves the issue and autocomplete fields work as expected.
The previous ticket was closed with no solution. There is no issue with multiple url definition in my case, downgrading is a workaround but the last LTS version of Django is 3.2.X and here the bug is present.
If the issue is a configuration problem, please give an hint on the solution.
If not, please manage the ticket accordingly.
Change History (3)
comment:1 by , 4 years ago
| Component: | Uncategorized → contrib.admin |
|---|---|
| Resolution: | → duplicate |
| Status: | new → closed |
comment:2 by , 4 years ago
It seems to be the same issue as the ticket you linked.
"app_label" isn't being included in the autocomplete request which suggests that autocomplete.js hasn't been updated to the Django 3.2. version.
I'm sorry, but autocomplete.js is code from the Django project? Maybe I'm missing something.
You said that hasn't been updated to the Django 3.2. version, but I'm not using django-autocomplete-light or an external addon for this.
There is no cache issue in the browser, I've tested with incognito mode and there is no improvement.
Collectstatic does not change the thing either.
Autocomplete.js should be updated in the Django base code or in my code?
It seems to be the same issue as the ticket you linked. "app_label" isn't being included in the autocomplete request which suggests that autocomplete.js hasn't been updated to the Django 3.2. version. See TicketClosingReasons/UseSupportChannels if you need help debugging the problem. If you confirm a problem in Django, feel free to reopen with an explanation.