EVE-University / aa-membertools

Reworked version of hrappsnext resolving hard connection issues to ESI tokens.
GNU General Public License v2.0
0 stars 0 forks source link

ApplicationActionAdmin raises FieldError when search box is used #2

Open marnvermuldir opened 1 year ago

marnvermuldir commented 1 year ago

Bug Description

Searching in the Django Admin for ApplicationAction will raise a FieldError exception.

Steps to Reproduce

Steps to reproduce the behavior:

  1. Go to Django Admin > Member Tools > Application Actions
  2. Enter a search term and press Search
  3. See error

Expected behavior

Returns search results matching terms.

Screenshots

N/A

Please complete the following information:

Additional context

Error Context


Request Method: GET
Request URL: http://auth.eveuniversity.org/admin/membertools/applicationaction/?q=test

Django Version: 4.0.10
Python Version: 3.9.15
Installed Applications:
['allianceauth',
 'django.contrib.admin',
 'django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.humanize',
 'django_celery_beat',
 'bootstrapform',
 'sortedm2m',
 'esi',
 'allianceauth.authentication',
 'allianceauth.services',
 'allianceauth.eveonline',
 'allianceauth.groupmanagement',
 'allianceauth.notifications',
 'allianceauth.thirdparty.navhelper',
 'allianceauth.analytics',
 'eunicore',
 'allianceauth.services.modules.discord',
 'allianceauth.services.modules.mumble',
 'allianceauth.services.modules.phpbb3',
 'aasrp',
 'allianceauth.corputils',
 'blacklist',
 'buybackprogram',
 'eveuniverse',
 'fleetpings',
 'freight',
 'groupassign',
 'memberaudit',
 'memberaudit_securegroups',
 'moonstuff',
 'securegroups',
 'structures',
 'structuretimers',
 'taskmonitor',
 'package_monitor',
 'afat',
 'opcalendar',
 'fittings',
 'membertools']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'allianceauth.authentication.middleware.UserSettingsMiddleware',
 'django.middleware.locale.LocaleMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'allianceauth.analytics.middleware.AnalyticsMiddleware']

Traceback (most recent call last):
  File "/opt/venv/lib/python3.9/site-packages/django/core/handlers/exception.py", line 56, in inner
    response = get_response(request)
  File "/opt/venv/lib/python3.9/site-packages/django/core/handlers/base.py", line 197, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/opt/venv/lib/python3.9/site-packages/django/contrib/admin/options.py", line 683, in wrapper
    return self.admin_site.admin_view(view)(*args, **kwargs)
  File "/opt/venv/lib/python3.9/site-packages/django/utils/decorators.py", line 134, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File "/opt/venv/lib/python3.9/site-packages/django/views/decorators/cache.py", line 62, in _wrapped_view_func
    response = view_func(request, *args, **kwargs)
  File "/opt/venv/lib/python3.9/site-packages/django/contrib/admin/sites.py", line 242, in inner
    return view(request, *args, **kwargs)
  File "/opt/venv/lib/python3.9/site-packages/django/utils/decorators.py", line 46, in _wrapper
    return bound_method(*args, **kwargs)
  File "/opt/venv/lib/python3.9/site-packages/django/utils/decorators.py", line 134, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File "/opt/venv/lib/python3.9/site-packages/django/contrib/admin/options.py", line 1927, in changelist_view
    cl = self.get_changelist_instance(request)
  File "/opt/venv/lib/python3.9/site-packages/django/contrib/admin/options.py", line 831, in get_changelist_instance
    return ChangeList(
  File "/opt/venv/lib/python3.9/site-packages/django/contrib/admin/views/main.py", line 122, in __init__
    self.queryset = self.get_queryset(request)
  File "/opt/venv/lib/python3.9/site-packages/django/contrib/admin/views/main.py", line 529, in get_queryset
    qs, search_may_have_duplicates = self.model_admin.get_search_results(
  File "/opt/venv/lib/python3.9/site-packages/django/contrib/admin/options.py", line 1148, in get_search_results
    queryset = queryset.filter(or_queries)
  File "/opt/venv/lib/python3.9/site-packages/django/db/models/query.py", line 1071, in filter
    return self._filter_or_exclude(False, args, kwargs)
  File "/opt/venv/lib/python3.9/site-packages/django/db/models/query.py", line 1089, in _filter_or_exclude
    clone._filter_or_exclude_inplace(negate, args, kwargs)
  File "/opt/venv/lib/python3.9/site-packages/django/db/models/query.py", line 1096, in _filter_or_exclude_inplace
    self._query.add_q(Q(*args, **kwargs))
  File "/opt/venv/lib/python3.9/site-packages/django/db/models/sql/query.py", line 1502, in add_q
    clause, _ = self._add_q(q_object, self.used_aliases)
  File "/opt/venv/lib/python3.9/site-packages/django/db/models/sql/query.py", line 1532, in _add_q
    child_clause, needed_inner = self.build_filter(
  File "/opt/venv/lib/python3.9/site-packages/django/db/models/sql/query.py", line 1358, in build_filter
    return self._add_q(
  File "/opt/venv/lib/python3.9/site-packages/django/db/models/sql/query.py", line 1532, in _add_q
    child_clause, needed_inner = self.build_filter(
  File "/opt/venv/lib/python3.9/site-packages/django/db/models/sql/query.py", line 1448, in build_filter
    condition = self.build_lookup(lookups, col, value)
  File "/opt/venv/lib/python3.9/site-packages/django/db/models/sql/query.py", line 1262, in build_lookup
    raise FieldError(

Exception Type: FieldError at /admin/membertools/applicationaction/
Exception Value: Related Field got invalid lookup: icontains