#34707: AttributeError: 'function' object has no attribute 'cache_clear' when
registering a custom lookup
---------------------------------------------+------------------------
               Reporter:  Justin Michalicek  |          Owner:  nobody
                   Type:  Uncategorized      |         Status:  new
              Component:  Uncategorized      |        Version:  4.1
               Severity:  Normal             |       Keywords:
           Triage Stage:  Unreviewed         |      Has patch:  0
    Needs documentation:  0                  |    Needs tests:  0
Patch needs improvement:  0                  |  Easy pickings:  0
                  UI/UX:  0                  |
---------------------------------------------+------------------------
 Going from the documentation at
 https://docs.djangoproject.com/en/4.1/howto/custom-lookups/#a-lookup-
 example, I created the custom lookup exactly as shown there. I then
 registered it in an AppConfig.ready(). When django starts I get the
 exception {{{AttributeError: 'function' object has no attribute
 'cache_clear'}}}.

 {{{
 python manage.py runserver 0.0.0.0:8000
 timestamp=None level=None event='Watching for file changes with
 StatReloader' logger=None
 Exception in thread django-main-thread:
 Traceback (most recent call last):
   File "/usr/local/lib/python3.11/threading.py", line 1038, in
 _bootstrap_inner
     self.run()
   File "/app/.venv/lib/python3.11/site-
 packages/sentry_sdk/integrations/threading.py", line 72, in run
     reraise(*_capture_exception())
   File "/app/.venv/lib/python3.11/site-packages/sentry_sdk/_compat.py",
 line 60, in reraise
     raise value
   File "/app/.venv/lib/python3.11/site-
 packages/sentry_sdk/integrations/threading.py", line 70, in run
     return old_run_func(self, *a, **kw)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   File "/usr/local/lib/python3.11/threading.py", line 975, in run
     self._target(*self._args, **self._kwargs)
   File "/app/.venv/lib/python3.11/site-
 packages/django/utils/autoreload.py", line 64, in wrapper
     fn(*args, **kwargs)
   File "/app/.venv/lib/python3.11/site-
 packages/django/core/management/commands/runserver.py", line 125, in
 inner_run
     autoreload.raise_last_exception()
   File "/app/.venv/lib/python3.11/site-
 packages/django/utils/autoreload.py", line 87, in raise_last_exception
     raise _exception[1]
   File "/app/.venv/lib/python3.11/site-
 packages/django/core/management/__init__.py", line 398, in execute
     autoreload.check_errors(django.setup)()
   File "/app/.venv/lib/python3.11/site-
 packages/django/utils/autoreload.py", line 64, in wrapper
     fn(*args, **kwargs)
   File "/app/.venv/lib/python3.11/site-packages/django/__init__.py", line
 24, in setup
     apps.populate(settings.INSTALLED_APPS)
   File "/app/.venv/lib/python3.11/site-packages/django/apps/registry.py",
 line 124, in populate
     app_config.ready()
   File "/app/app/my_project/core/apps.py", line 13, in ready
     Field.register_lookup(NotEqual)
   File "/app/.venv/lib/python3.11/site-
 packages/django/db/models/query_utils.py", line 256, in register_lookup
     cls._clear_cached_lookups()
   File "/app/.venv/lib/python3.11/site-
 packages/django/db/models/query_utils.py", line 247, in
 _clear_cached_lookups
     subclass.get_lookups.cache_clear()
     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 AttributeError: 'function' object has no attribute 'cache_clear'
 }}}

-- 
Ticket URL: <https://code.djangoproject.com/ticket/34707>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/01070189458e05a6-a660e818-22a7-4efb-8a41-119e0f8b788a-000000%40eu-central-1.amazonses.com.

Reply via email to