Skip to content

Detail

AsyncDetailView

AsyncDetailView generic view is provided

from django_async_extensions.views.generic import AsyncDetailView

class MyDetailView(AsyncDetailView):
    model = MyModel

AsyncDetailView is similar to django's DetailView but with a few differences:

  1. get_object() method is async.
  2. get_queryset() method is async.
  3. get() method is async.
  4. the inheritance tree is different so the ancestors behaviour also applies here.

Ancestors (MRO):

  1. django-async-extensions.views.generic.detail.AsyncSingleObjectTemplateResponseMixin
  2. django-async-extensions.views.generic.base.AsyncTemplateResponseMixin
  3. django.views.generic.base.TemplateResponseMixin
  4. django_async_extensions.views.generic.detail.AsyncBaseDetailView
  5. django_async_extensions.views.generic.detail.AsyncSingleObjectMixin
  6. django_async_extensions.views.generic.base.AsyncContextMixin
  7. django_async_extensions.views.generic.base.AsyncView
  8. django.views.generic.base.View

Base classes

some of the base classes for DetailView have been re-written as async:

AsyncBaseDetailView

like BaseDetailView but get() is async and the ancestors are different.

Ancestors (MRO):

  1. django_async_extensions.views.generic.detail.AsyncSingleObjectMixin
  2. django_async_extensions.views.generic.base.AsyncContextMixin
  3. django_async_extensions.views.generic.base.AsyncView
  4. django.views.generic.base.View