# Django 5.2.8 documentation

# Flera mixins för objekt

## `MultipleObjectMixin`

class django.views.generic.list.MultipleObjectMixin

  En mixin som kan användas för att visa en lista med objekt.

  Om `paginate_by` anges kommer Django att paginera de resultat som returneras av detta. Du kan ange sidnumret i URL:en på ett av två sätt:

  - Använd parametern `page` i URLconf. Så här kan till exempel din URLconf se ut:

        path("objects/page<int:page>/", PaginatedView.as_view()),

  - Skicka sidnumret via parametern `page` query-string. Till exempel: skulle en URL se ut så här:

        /objects/?page=3

  Dessa värden och listor är 1-baserade, inte 0-baserade, så den första sidan skulle representeras som sidan `1`.

  Mer information om paginering finns i Pagineringsdokumentation.

  Som ett specialfall är det också tillåtet att använda `last` som värde för `page`:

      /objects/?page=last

  Detta gör att du kan komma till den sista resultatsidan utan att först behöva avgöra hur många sidor det finns.

  Observera att `page` måste vara antingen ett giltigt sidnummer eller värdet `last`; alla andra värden för `page` kommer att resultera i ett 404-fel.

  Förlänger

  - `django.views.generic.base.ContextMixin`

  Metoder och egenskaper

  allow_empty

    En boolean som anger om sidan ska visas om inga objekt finns tillgängliga. Om detta är `False` och inga objekt finns tillgängliga, kommer vyn att skicka en 404 istället för att visa en tom sida. Som standard är detta `True`.

  model

    Den modell som denna vy ska visa data för. Att ange `model = Foo` är i praktiken detsamma som att ange `queryset = Foo.objects.all()`, där `objects` står för `Foo` default manager <default-managers>`.

  queryset

    En `QuerySet` som representerar objekten. Om det anges ersätter värdet för `queryset` det värde som anges för `model`.

    Varning

    `queryset` är ett klassattribut med ett mutabelt värde så försiktighet måste iakttas när det används direkt. Innan du använder det, anropa antingen dess `all()`-metod eller hämta det med `get_queryset()` som tar hand om kloningen bakom kulisserna.

  ordering

    En sträng eller en lista med strängar som anger den ordning som ska tillämpas på `queryset`. Giltiga värden är desamma som för `order_by()`.

  paginate_by

    Ett heltal som anger hur många objekt som ska visas per sida. Om detta anges kommer vyn att paginera objekt med `paginate_by`-objekt per sida. Vyn förväntar sig antingen en `page` parameter i frågesträngen (via `request.GET`) eller en `page` variabel som anges i URLconf.

  paginate_orphans

    Ett heltal som anger antalet ”overflow”-objekt som den sista sidan kan innehålla. Detta utökar `paginate_by`-gränsen på den sista sidan med upp till `paginate_orphans`, för att förhindra att den sista sidan har ett mycket litet antal objekt.

  page_kwarg

    En sträng som anger det namn som ska användas för sidparametern. Vyn förväntar sig att denna parameter är tillgänglig antingen som en parameter i en frågesträng (via `request.GET`) eller som en kwarg-variabel som anges i URLconf. Standardvärdet är `page`.

  paginator_class

    Den paginatorklass som ska användas för paginering. Som standard används `django.core.paginator.Paginator`. Om den anpassade paginatorklassen inte har samma konstruktörsgränssnitt som `django.core.paginator.Paginator`, måste du också tillhandahålla en implementering för `get_paginator()`.

  context_object_name

    Anger namnet på den variabel som ska användas i sammanhanget.

  get_queryset()

    Hämta listan med objekt för den här vyn. Detta måste vara en iterabel och kan vara en queryset (i vilken queryset-specifikt beteende kommer att aktiveras).

  get_ordering()

    Returnerar en sträng (eller en iterabel av strängar) som definierar den ordning som ska tillämpas på `queryset`.

    Returnerar `ordering` som standard.

  paginate_queryset(queryset, page_size)

    Returnerar en 4-tupel som innehåller (`paginator`, `page`, `object_list`, `is_paginated`).

    Konstruerad genom att paginera `queryset` i sidor av storleken `page_size`. Om begäran innehåller ett `page`-argument, antingen som ett URL-argument eller som ett GET-argument, kommer `object_list` att motsvara objekten från den sidan.

  get_paginate_by(queryset)

    Returnerar antalet objekt som ska pagineras efter, eller `None` för ingen paginering. Som standard returnerar detta värdet för `paginate_by`.

  get_paginator(queryset, per_page, orphans=0, allow_empty_first_page=True)

    Returnerar en instans av den paginator som ska användas för den här vyn. Som standard instansieras en instans av `paginator_class`.

  get_paginate_orphans()

    Ett heltal som anger antalet ”overflow”-objekt som den sista sidan kan innehålla. Som standard returnerar detta värdet för `paginate_orphans`.

  get_allow_empty()

    Returnerar en boolean som anger om sidan ska visas om inga objekt finns tillgängliga. Om denna metod returnerar `False` och inga objekt finns tillgängliga, kommer vyn att skicka en 404 istället för att visa en tom sida. Som standard är detta `True`.

  get_context_object_name(object_list)

    Returnerar namnet på den kontextvariabel som kommer att användas för att innehålla listan över data som denna vy manipulerar. Om `object_list` är en queryset av Django-objekt och `context_object_name` inte är inställt, kommer kontextnamnet att vara `model_name` för den modell som queryset är sammansatt från, med postfixet `'_list` tillagt. Till exempel: skulle modellen `Article` ha ett kontextobjekt med namnet `article_list`.

  get_context_data(**kwargs)

    Returnerar kontextdata för visning av listan med objekt.

  Kontext

  - `object_list`: Listan över objekt som visas i den här vyn. Om `context_object_name` anges, kommer den variabeln också att ställas in i kontexten, med samma värde som `object_list`.

  - `is_paginated`: En boolean som anger om resultaten är paginerade. Specifikt sätts detta till `False` om ingen sidstorlek har angetts, eller om de tillgängliga objekten inte sträcker sig över flera sidor.

  - `paginator`: En instans av `django.core.paginator.Paginator`. Om sidan inte är paginerad kommer denna kontextvariabel att vara `None`.

  - `page_obj`: En instans av `django.core.paginator.Page`. Om sidan inte är paginerad kommer denna kontextvariabel att vara `None`.

## `MultipleObjectTemplateResponseMixin`

class django.views.generic.list.MultipleObjectTemplateResponseMixin

  En mixin-klass som utför mallbaserad svarsrendering för vyer som arbetar med en lista över objektinstanser. Kräver att vyn som den mixas med tillhandahåller `self.object_list`, listan över objektinstanser som vyn arbetar med. `self.object_list` kan vara, men behöver inte vara, en `QuerySet`.

  Förlänger

  - `TemplateResponseMixin`

  Metoder och egenskaper

  template_name_suffix

    Suffixet som ska läggas till det autogenererade kandidatmallnamnet. Standardsuffixet är `_list`.

  get_template_names()

    Returnerar en lista med namn på kandidatmallar. Returnerar följande lista:

    - värdet av `template_name` på vyn (om det anges)

    - `<app_label>/<modell_namn><template_namn_suffix>.html`