django-crum doesn't work in async environments

As title.

See this django community threads, it talks about thread local storage and async. link

In a full async environment, everything is running in the same thread. It’s not “one thread per connection”. this sentence explains it I think.

it works currently because gunicorn backend ultimately runs a few threads, and django’s behaviour is to use each thread to handle each request, thus thread local storage works.

see also safe to use thread local storage