diff --git a/docs/topics/async.txt b/docs/topics/async.txt index 5612235622..a2f702b8e3 100644 --- a/docs/topics/async.txt +++ b/docs/topics/async.txt @@ -71,17 +71,18 @@ you will need to wrap it in a :func:`sync_to_async` call. For example:: from asgiref.sync import sync_to_async - results = sync_to_async(Blog.objects.get)(pk=123) + results = await sync_to_async(Blog.objects.get, thread_sensitive=True)(pk=123) You may find it easier to move any ORM code into its own function and call that entire function using :func:`sync_to_async`. For example:: from asgiref.sync import sync_to_async - @sync_to_async - def get_blog(pk): + def _get_blog(pk): return Blog.objects.select_related('author').get(pk=pk) + get_blog = sync_to_async(_get_blog, thread_sensitive=True) + If you accidentally try to call a part of Django that is still synchronous-only from an async view, you will trigger Django's :ref:`asynchronous safety protection ` to protect your data from