# dokumentasi Django 2.0.8

# Banyak obyek mixin

## `MultipleObjectMixin`

class `django.views.generic.list.``MultipleObjectMixin`

  Sebuah mixin yang dapat digunakan memperlihatkan daftar dari obyek.

  Jika `paginate_by` ditentukan, Django akan memberikan nomor hasil dikembalikan oleh ini. Anda dapat menentukan nomor halaman di URL di satu atau dua cara:

  - Gunakan parameter `page` di URLconf. Sebagai contoh, ini adalah apa URLconf anda mungkin terlihat seperti:

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

  - Lewatkan nomor halaman melalui parameter string-permintaan `page`. Sebagai contoh, sebuah URL akan terlihat seperti ini:

        /objects/?page=3

  Nilai-nilai ini dan daftar adalah berdasarkan-1, bukan berdasarkan-0, jadi halaman pertama akan diwakili sebagai halaman `1`.

  Untuk lebih pada pemberian nomor, baca pagination documentation.

  Seperti kasus khusus, anda juga diizinkan menggunakan `last` sebagai sebuah nilai untuk `page`:

      /objects/?page=last

  Ini mengizinkan anda mengakses halaman akhir dari hasil tanpa pertama harus menentukan seberapa banyak halaman ada.

  Catat bahwa `page` harus antara nomor halaman sah atau nilai `last`; nilai lain apapun untuk `page` akan menghasilkan di kesalahan 404.

  Perpanjang

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

  Cara dan Atribut

  `allow_empty`

    Sebuah boolean menentukan apakah memperlihatkan halaman jika tidak ada obyek tersedia. Jika ini adalah `False` dan tidak ada obyek tersedia, tampilan akan memunculkan sebuah 404 daripada memperlihatkan sebuah halaman kosong. Secara awalan, ini adalah `True`.

  `model`

    Model yang tampilan ini akan menampilkan data. Menentukan `model = Foo` secara efektif sama seperti menentukan `queryset = Foo.objects.all()`, dimana `objects` berdiri untuk default manager `Foo`.

  `queryset`

    Sebuah `QuerySet` yang mewakili obyek-obyek. Jika disediakan, nilai dari `queryset` menggantikan nilai disediakan untuk `model`.

    Peringatan

    `queryset` adalah sebuah atribut kelas dengan nilai berubah-ubah sehingga perawatan harus diambil ketika menggunakan itu secara langsung. Sebelum menggunakan itu, antara memanggil metode `all()` nya atau mengambil itu dengan `get_queryset()` yang merawat dari kloning dibelakang layar.

  `ordering`

    Sebuah string atau daftar dari string menentukan urutan untuk memberlakukan ke `queryset`. Nilai-nilai sah adalah sama seperti itu untuk `order_by()`.

  `paginate_by`

    Sebuah integer menentukan seberapa banyak obyek-obyek harus diperlihatkan per halaman. Jika ini diberikan, tampilan akan memberikan nomor obyek-obyek dengan `paginate_by` obyek-obyek per halaman. Tampilan akan mengharapkan antara sebuah parameter string permintaan `page` (melalui `request.GET`) atau sebuah variabel `page` ditentukan di URLconf.

  `paginate_orphans`

    Sebuah integer menentukan nomor dari obyek-obyek "overflow" halaman terakhir dapat diisi. Ini memperpanjang `paginate_by` batasan pada halaman terakhir sampai pada `paginate_orphans`, untuk menjaga halaman terakhir dari memiliki sangat kecil nomor dari obyek-obyek.

  `page_kwarg`

    Sebuah string menentukan nama digunakan untuk parameter halaman. Tampilan akan mengharapkan parameter ini untuk tersedia antara sebagai sebuah parameter string permintaan (melalui `request.GET`) atau sebagai sebuah variabel kwarg ditentukan di URLconf. Awalan ke `page`.

  `paginator_class`

    Kelas penomoran digunakan untuk menomorkan halaman. Secara awalan, `django.core.paginator.Paginator` digunakan. Jika penyesuaian kelas penomoran tidak mempunyai antarmuka pembangun sama seperti `django.core.paginator.Paginator`, anda akan juga butuh menyediakan sebuah penerapan untuk `get_paginator()`.

  `context_object_name`

    Menandakan nama dari variabel untuk digunakan di konteks.

  `get_queryset`()

    Dapatkan daftar dari barang-barang untuk tampilan ini. Ini harus berupa sebuah perulangan dan mungkin sebuah queryset (dimana perilaku queryset-tertentu akan diadakan).

  `get_ordering`()

    Mengembalikan sebuah string (atau perulangan dari string) yang menentukan urutan yang akan diberlakukan ke `queryset`.

    Mengembalikan `ordering` secara awalan.

  `paginate_queryset`(queryset, page_size)

    Mengembalikan 4-tuple mengandung (`paginator`, `page`, `object_list`, `is_paginated`).

    DIbangun dengan menomori `queryset` kedalam halaman dari ukuran `page_size`. Jika permintaan mengandung sebuah argumen `page`, antara sebagau URL tertangkap atau sebagai argumen GET, `object_list` akan berhubungan ke obyek-obyek dari halaman itu.

  `get_paginate_by`(queryset)

    Mengembalikan sejumlah barang-barang untuk menomorkan, atau `None` untuk tidak penomoran. Secara awalan ini cukup mengembalikan nilai dari `paginate_by`.

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

    Mengembalikan sebuah instance dari penomor digunakan untuk tampilan ini. Secara awalan, instasiasi sebuah instance dari `paginator_class`.

  `get_paginate_orphans`()

    Sebuah integer menentukan sejumlah obyek-obyek "overflow" halaman terakhir dapat diisi. Secara awalan ini cukup mengembalikan nilai dari `paginate_orphans`.

  `get_allow_empty`()

    Mengembalikan sebuah boolean menentukan apakah memperlihatkan halaman jika tidak ada obyek tersedia. Jika metode ini mengembalikan `False` dan tidak ada obyek tersedia, tampilan akan memunculkan sebuah 404 daripada memperlihatkan sebuah halaman kosong. Secara awalan, ini adalah `True`.

  `get_context_object_name`(object_list)

    Mengembalikan nama variabel konteks yang akan digunakan mewadahi daftar data yang tampilan ini dimanipulasi. Jika `object_list` adalah sebuah queryset dari obyek-obyek Django dan `context_object_name` tidak disetel, nama konteks akan menjadi `model_name` dari the model yang queryset disusun dari, dengan postfix `'_list'` ditambahkan. Sebagai contoh, model `Article` akan mempunyai sebuah obyek konteks bernama `article_list`.

  `get_context_data`(**kwargs)

    Mengembalikan data konteks untuk memperlihatkan daftar dari obyek.

  Konteks

  - `object_list`: Daftar dari obyek-obyek yang tampilan ini diperlihatkan. Jika `context_object_name` ditentukan, variabel itu akan juga disetel di konteks, dengan nilai sama seperti `object_list`.
  - `is_paginated`: Sebuah boolean mewakili apakah hasil dinomorkan. Khususnya, ini disetel menjadi `False` jika tidak ada ukuran halaman telah ditentukan, atau jika obyek-obyek tersedia tidak menjangkau banyak halaman.
  - `paginator`: Sebuah instance dari `django.core.paginator.Paginator`. Jika halaman tidak dinomorkan, variabel konteks ini akan menjadi `None`.
  - `page_obj`: Sebuah instance dari `django.core.paginator.Page`. Jika halaman tidak dinomorkan, variabel konteks ini akan menjadi `None`.

## `MultipleObjectTemplateResponseMixin`

class `django.views.generic.list.``MultipleObjectTemplateResponseMixin`

  Sebuah kelas mixin yang melakukan membangun tanggapan berdasarkan-cetakan untuk tampilan yang beroperasi diatas daftar dari instance obyek. Diwajibkan bahwa tampilan itu campurkan dengan `self.object_list` tersedia, daftar dari instance obyek yang tampilan beroperasi. `self.object_list` mungkin, tetapi tidak diwajibkan menjadi, sebuah `QuerySet`.

  Perpanjang

  - `TemplateResponseMixin`

  Cara dan Atribut

  `template_name_suffix`

    Akhiran ditambahkan ke calon nama cetakan dibangkitkan-otomatis. Awalan akhiran adalah `_list`.

  `get_template_names`()

    Mengembalikan daftar dari calon nama-nama cetakan. Mengembalikan daftar berikut:

    - nilai dari `template_name` pada tampilan (jika disediakan)
    - `<app_label>/<model_name><template_name_suffix>.html`