{"title":"Kerangka contenttypes","version":"3.0","locale":"id","docname":"ref/contrib/contenttypes","url":"/id/3.0/ref/contrib/contenttypes/","canonical":"https://djangodocs.dev/id/3.0/ref/contrib/contenttypes/","summary":"Django menyertakan sebuah aplikasi contenttypes yang dapat melacak semua model-model terpasang dalam proyek Django-powered anda, menyediakan tingkat-tinggi…","html":"<span id=\"the-contenttypes-framework\"></span><h1>Kerangka contenttypes<a class=\"heading-anchor\" href=\"#module-django.contrib.contenttypes\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Django menyertakan sebuah aplikasi <a class=\"reference internal\" href=\"#module-django.contrib.contenttypes\" title=\"django.contrib.contenttypes: Provides generic interface to installed models.\"><code class=\"xref py py-mod docutils literal notranslate\">contenttypes</code></a> yang dapat melacak semua model-model terpasang dalam proyek Django-powered anda, menyediakan tingkat-tinggi, antarmuka umum untuk bekerja dengan model-model anda.</p>\n<section id=\"overview\">\n<h2>Ikhtisar<a class=\"heading-anchor\" href=\"#overview\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Di jantung dari aplikasi contenttype adalah model <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a>, yang tinggal di django.contrib.contenttypes.models.ContentType`. Instance dari <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a> mewakili dan menyimpan informasi tentang model-model terpasang dalam proyek anda, dan instance baru dari <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a> otomatis dibuat ketika model-model baru terpasang.</p>\n<p>Instance dari <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a> mempunai metode-metode untuk mengembalikan kelas-kelas model mereka wakilkan dan untuk meminta obyek dari model-model itu. <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a> juga mempunyai sebuah <span class=\"xref std std-ref\">custom manager 1</span> yang menambahkan metode untuk bekerja dengan <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a> dan untuk mendapatkan instance dari <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a> untuk model tertentu.</p>\n<p>Hubungan diantara model-model anda dan <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a> dapat juga digunakan untuk mengadakan hubungan &quot;umum&quot; diantara sebuah instance dari satu dari model-model anda dan instance dari model apapun anda telah pasang.</p>\n</section>\n<section id=\"installing-the-contenttypes-framework\">\n<h2>Memasang kerangka contenttypes<a class=\"heading-anchor\" href=\"#installing-the-contenttypes-framework\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Kerangka kerja contenttype disertakan dalam daftar <a class=\"reference internal\" href=\"/id/3.0/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\">INSTALLED_APPS</code></a> awalan dibuat oleh <code class=\"docutils literal notranslate\">django-admin startproject</code>, tetapi jika anda telah memindahkan itu atau jika anda secara manual menyetel daftar <a class=\"reference internal\" href=\"/id/3.0/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\">INSTALLED_APPS</code></a> anda, anda dapat mengadakan itu dengan menambahkan <code class=\"docutils literal notranslate\">'django.contrib.contenttypes'</code> ke pengaturan <a class=\"reference internal\" href=\"/id/3.0/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\">INSTALLED_APPS</code></a> anda.</p>\n<p>Umumnya ide bagus memiliki kerangka contenttype terpasang; beberapa aplikasi gabungan lain Django membutuhkan itu:</p>\n<ul class=\"simple\">\n<li><p>Apliaksi admin menggunakan itu utuk mencatat riwayat dari setiap obyek ditambahkan atau dirubah melalui antarmuka admin.</p></li>\n<li><p><a class=\"reference internal\" href=\"/id/3.0/topics/auth/#module-django.contrib.auth\" title=\"django.contrib.auth: Django's authentication framework.\"><code class=\"xref py py-mod docutils literal notranslate\">authentication framework</code></a> Django menggunakan itu untuk mengikat perizinan pengguna pada model-model tertentu.</p></li>\n</ul>\n</section>\n<section id=\"the-contenttype-model\">\n<h2>Model <code class=\"docutils literal notranslate\">ContentType</code><a class=\"heading-anchor\" href=\"#the-contenttype-model\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.models.ContentType\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">ContentType</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.models.ContentType\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Setiap instance dari <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a> mempunyai dua bidang yang, diambil bersama-sama, secara unik menggambarkan sebuah model terpasang:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.models.ContentType.app_label\">\n<span class=\"sig-name descname\">app_label</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.models.ContentType.app_label\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Nama dari aplikasi model adalah bagian darinya. Ini diambil dari atribut <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType.app_label\" title=\"django.contrib.contenttypes.models.ContentType.app_label\"><code class=\"xref py py-attr docutils literal notranslate\">app_label</code></a> dari model, dan menyertakan hanya bagian <em>terakhir</em> dari <code class=\"docutils literal notranslate\">django.contrib.contenttypes</code> jalur impor Python aplikasi, sebagai contoh, menjadi <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType.app_label\" title=\"django.contrib.contenttypes.models.ContentType.app_label\"><code class=\"xref py py-attr docutils literal notranslate\">app_label</code></a> dari <code class=\"docutils literal notranslate\">contenttypes</code>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.models.ContentType.model\">\n<span class=\"sig-name descname\">model</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.models.ContentType.model\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Nama dari kelas model.</p>\n</dd></dl>\n\n<p>Sebagai tambahan, sifat berikut tersedia:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.models.ContentType.name\">\n<span class=\"sig-name descname\">name</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.models.ContentType.name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Nama dapat-dibaca-manusia dari jenis isi. Ini adalah diambil dari atribut <a class=\"reference internal\" href=\"/id/3.0/ref/models/fields/#django.db.models.Field.verbose_name\" title=\"django.db.models.Field.verbose_name\"><code class=\"xref py py-attr docutils literal notranslate\">verbose_name</code></a> dari model.</p>\n</dd></dl>\n\n</dd></dl>\n\n<p>Mari kita lihat sebuah contoh untuk melihat bagaimana ini bekerja. Jika anda seudah memiliki aplikasi <a class=\"reference internal\" href=\"#module-django.contrib.contenttypes\" title=\"django.contrib.contenttypes: Provides generic interface to installed models.\"><code class=\"xref py py-mod docutils literal notranslate\">contenttypes</code></a> terpasang, dan kemudian tambah <a class=\"reference internal\" href=\"/id/3.0/ref/contrib/sites/#module-django.contrib.sites\" title=\"django.contrib.sites: Lets you operate multiple websites from the same database and Django project\"><code class=\"xref py py-mod docutils literal notranslate\">the sites application</code></a> ke pengaturan <a class=\"reference internal\" href=\"/id/3.0/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\">INSTALLED_APPS</code></a> anda dan menjalankan <code class=\"docutils literal notranslate\">manage.py migrate</code> untuk memasangnya, model <a class=\"reference internal\" href=\"/id/3.0/ref/contrib/sites/#django.contrib.sites.models.Site\" title=\"django.contrib.sites.models.Site\"><code class=\"xref py py-class docutils literal notranslate\">django.contrib.sites.models.Site</code></a> akan dipasang kedalam basisdata anda. Bersama dengan itu sebuah instance baru dari <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a> akan dibuat dengan nilai-nilai berikut:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType.app_label\" title=\"django.contrib.contenttypes.models.ContentType.app_label\"><code class=\"xref py py-attr docutils literal notranslate\">app_label</code></a> akan disetel menjadi <code class=\"docutils literal notranslate\">'sites'</code> (bagian terakhir dari jalur Python <code class=\"docutils literal notranslate\">django.contrib.sites</code>).</p></li>\n<li><p><a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType.model\" title=\"django.contrib.contenttypes.models.ContentType.model\"><code class=\"xref py py-attr docutils literal notranslate\">model</code></a> akan disetel menjadi <code class=\"docutils literal notranslate\">'site'</code>.</p></li>\n</ul>\n</section>\n<section id=\"methods-on-contenttype-instances\">\n<h2>Metode pada instance <code class=\"docutils literal notranslate\">ContentType</code><a class=\"heading-anchor\" href=\"#methods-on-contenttype-instances\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Setiap instance <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a> mempunyai metode-metode yang mengizinkan anda mendapatkan dari sebuah instance <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a> pada model yang itu wakili, atau untuk mengambil obyek-obyek dari model itu:</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.models.ContentType.get_object_for_this_type\">\n<span class=\"sig-prename descclassname\">ContentType.</span><span class=\"sig-name descname\">get_object_for_this_type</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">**</span>kwargs</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.models.ContentType.get_object_for_this_type\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Mengambil sekumpulan dari perwakilan <span class=\"xref std std-ref\">lookup arguments 1</span> for the model the <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a> sah, dan melakukan <a class=\"reference internal\" href=\"/id/3.0/ref/models/querysets/#django.db.models.query.QuerySet.get\" title=\"django.db.models.query.QuerySet.get\"><code class=\"xref py py-meth docutils literal notranslate\">a get() lookup</code></a> pada model itu, mengembalikan obyek yang sesuai.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.models.ContentType.model_class\">\n<span class=\"sig-prename descclassname\">ContentType.</span><span class=\"sig-name descname\">model_class</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.models.ContentType.model_class\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Mengembalikan kelas model diwakilkan oleh instance <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a> ini.</p>\n</dd></dl>\n\n<p>Sebagai contoh, kami dapat mencari <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a> untuk model <a class=\"reference internal\" href=\"/id/3.0/ref/contrib/auth/#django.contrib.auth.models.User\" title=\"django.contrib.auth.models.User\"><code class=\"xref py py-class docutils literal notranslate\">User</code></a>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django.contrib.contenttypes.models</span> <span class=\"kn\">import</span> ContentType\n<span class=\"gp\">&gt;&gt;&gt; </span>user_type <span class=\"o\">=</span> ContentType<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span>app_label<span class=\"o\">=</span><span class=\"s1\">&#39;auth&#39;</span><span class=\"p\">,</span> model<span class=\"o\">=</span><span class=\"s1\">&#39;user&#39;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>user_type\n<span class=\"go\">&lt;ContentType: user&gt;</span>\n</code></pre></div>\n<p>Dan kemudian gunakan itu pada permintaan untuk <a class=\"reference internal\" href=\"/id/3.0/ref/contrib/auth/#django.contrib.auth.models.User\" title=\"django.contrib.auth.models.User\"><code class=\"xref py py-class docutils literal notranslate\">User</code></a> tertentu, atau untuk mendapatkan akses ke kelas model <code class=\"docutils literal notranslate\">User</code>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>user_type<span class=\"o\">.</span>model_class<span class=\"p\">()</span>\n<span class=\"go\">&lt;class &#39;django.contrib.auth.models.User&#39;&gt;</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>user_type<span class=\"o\">.</span>get_object_for_this_type<span class=\"p\">(</span>username<span class=\"o\">=</span><span class=\"s1\">&#39;Guido&#39;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;User: Guido&gt;</span>\n</code></pre></div>\n<p>Bersama-sama, meth:~django.contrib.contenttypes.models.ContentType.get_object_for_this_type dan <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType.model_class\" title=\"django.contrib.contenttypes.models.ContentType.model_class\"><code class=\"xref py py-meth docutils literal notranslate\">model_class()</code></a> mengadakan dua sangat penting penggunaan kasus:</p>\n<ol class=\"arabic simple\">\n<li><p>Menggunakan metode ini, anda dapat menulis kode umum tingkat-tinggi yang melakukan permintaan pada mode terpasang apapun -- daripada mengimpor dan menggunakan kelas model khusus, anda dapat melewatkan sebuah <code class=\"docutils literal notranslate\">app_label</code> dan <code class=\"docutils literal notranslate\">model</code> kedalam sebuah pencarian <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a> pada waktu berjalan dan kemudian bekerja dengan kelas model atau mengambil obyek dari itu.</p></li>\n<li><p>Anda dapat menghubungkan model lain ke <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a> sebagai sebuah cara dari mengikat instance dari itu ke kelas-kelas model tertentu, dan gunakan metode ini untuk mendapatkan akses ke kelas-kelas model tersebut.</p></li>\n</ol>\n<p>Beberapa dari aplikasi gabungan Django membuat dari teknik terakhir. Sebagai contoh, <a class=\"reference internal\" href=\"/id/3.0/ref/contrib/auth/#django.contrib.auth.models.Permission\" title=\"django.contrib.auth.models.Permission\"><code class=\"xref py py-class docutils literal notranslate\">the permissions system</code></a> dalam kerangka kerja autentifikasi Django menggunakan model <a class=\"reference internal\" href=\"/id/3.0/ref/contrib/auth/#django.contrib.auth.models.Permission\" title=\"django.contrib.auth.models.Permission\"><code class=\"xref py py-class docutils literal notranslate\">Permission</code></a> dengan sebuah foreign key pada <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a>; ini membuat <a class=\"reference internal\" href=\"/id/3.0/ref/contrib/auth/#django.contrib.auth.models.Permission\" title=\"django.contrib.auth.models.Permission\"><code class=\"xref py py-class docutils literal notranslate\">Permission</code></a> mewakili konsep-konsep seperti &quot;dapat menambah masukan blog&quot; atau &quot;dapat menghapus cerita berita&quot;.</p>\n<section id=\"the-contenttypemanager\">\n<h3><code class=\"docutils literal notranslate\">ContentTypeManager</code><a class=\"heading-anchor\" href=\"#the-contenttypemanager\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.models.ContentTypeManager\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">ContentTypeManager</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.models.ContentTypeManager\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p><a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a> juga mempunyai pengelola penyesuaian, <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentTypeManager\" title=\"django.contrib.contenttypes.models.ContentTypeManager\"><code class=\"xref py py-class docutils literal notranslate\">ContentTypeManager</code></a>, yang menambahkan metode berikut:</p>\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.models.ContentTypeManager.clear_cache\">\n<span class=\"sig-name descname\">clear_cache</span><span class=\"sig-paren\">(</span><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.models.ContentTypeManager.clear_cache\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Bersihkan cache internal digunakan oleh <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a> untuk menjaga lintasan dari model-model untuk yang itu telah membuat instance <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a>. Anda mungkin tidak pernah butuh memanggil metode ini anda sendiri; Django akan memanggil itu secara otomatis ketika itu dibutuhkan.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.models.ContentTypeManager.get_for_id\">\n<span class=\"sig-name descname\">get_for_id</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">id</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.models.ContentTypeManager.get_for_id\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Pencarian <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a> berdasarkan ID. Sejak metode ini menggunakan cache dibagi yang sama seperti <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentTypeManager.get_for_model\" title=\"django.contrib.contenttypes.models.ContentTypeManager.get_for_model\"><code class=\"xref py py-meth docutils literal notranslate\">get_for_model()</code></a>, itu lebih disukai untuk menggunakan metode ini terhadap <code class=\"docutils literal notranslate\">ContentType.objects.get(pk=id)</code> biasa</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.models.ContentTypeManager.get_for_model\">\n<span class=\"sig-name descname\">get_for_model</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">model</em>, <em class=\"sig-param\">for_concrete_model<span class=\"o\">=</span><span class=\"default_value\">True</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.models.ContentTypeManager.get_for_model\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Ambil antara sebuah kelas model atau sebuah instance dari model, dan kembalikan instance <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a> mewakili model itu. <code class=\"docutils literal notranslate\">for_concrete_model=False</code> mengizinkan mengambil <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a> dari model proxy.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.models.ContentTypeManager.get_for_models\">\n<span class=\"sig-name descname\">get_for_models</span><span class=\"sig-paren\">(</span><em class=\"sig-param\"><span class=\"o\">*</span>models</em>, <em class=\"sig-param\">for_concrete_models<span class=\"o\">=</span><span class=\"default_value\">True</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.models.ContentTypeManager.get_for_models\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Mengambil sejumlah variabel apapun dari kelas-kelas model, dan mengembalikan sebuah kamus memetakan kelas-kelas model pada instance <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a> mewakili mereka. <code class=\"docutils literal notranslate\">for_concrete_models=False</code> mengizinkan mengambil <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a> dari model proxy.</p>\n</dd></dl>\n\n<dl class=\"py method\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.models.ContentTypeManager.get_by_natural_key\">\n<span class=\"sig-name descname\">get_by_natural_key</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">app_label</em>, <em class=\"sig-param\">model</em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.models.ContentTypeManager.get_by_natural_key\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Mengembalikan instance <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a> secara unik dicirikan dengan label aplikasi yang diberikan dan nama model. Tujuan utama dari metode ini adalah mengizinkan obyek <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a> untuk diacukan melalui <span class=\"xref std std-ref\">natural key1</span> selama deserialisasi.</p>\n</dd></dl>\n\n</dd></dl>\n\n<p>Metode <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentTypeManager.get_for_model\" title=\"django.contrib.contenttypes.models.ContentTypeManager.get_for_model\"><code class=\"xref py py-meth docutils literal notranslate\">get_for_model()</code></a> khususnya sangat berguna ketika anda mengetahui anda butuh bekerja dengan <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a> tetapi tidak ingin menjadi masalah dari mendapatkan metadata model untuk melakukan pencarian manual:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django.contrib.auth.models</span> <span class=\"kn\">import</span> User\n<span class=\"gp\">&gt;&gt;&gt; </span>ContentType<span class=\"o\">.</span>objects<span class=\"o\">.</span>get_for_model<span class=\"p\">(</span>User<span class=\"p\">)</span>\n<span class=\"go\">&lt;ContentType: user&gt;</span>\n</code></pre></div>\n</section>\n</section>\n<section id=\"generic-relations\">\n<span id=\"module-django.contrib.contenttypes.fields\"></span><span id=\"id1\"></span><h2>Hubungan umum<a class=\"heading-anchor\" href=\"#generic-relations\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Menambahkan sebuah foreign key dari satu dari model anda sendiri pada <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a> mengizinkan model anda secara efektif mengikat diri sendiri ke kelas model lain, seperti dalam contoh dari model <a class=\"reference internal\" href=\"/id/3.0/ref/contrib/auth/#django.contrib.auth.models.Permission\" title=\"django.contrib.auth.models.Permission\"><code class=\"xref py py-class docutils literal notranslate\">Permission</code></a> diatas. Tetapi itu memungkinkan pergi satu langkah lebih jauh dan menggunakan <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a> untuk mengadakan hubungan umum sebenarnya (terkadang disebut &quot;polimorfik&quot;) diantara model.</p>\n<p>Sebagai contoh, itu dapat digunakan untuk sistem pe etiketan seperti itu:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.contrib.contenttypes.fields</span> <span class=\"kn\">import</span> GenericForeignKey\n<span class=\"kn\">from</span> <span class=\"nn\">django.contrib.contenttypes.models</span> <span class=\"kn\">import</span> ContentType\n<span class=\"kn\">from</span> <span class=\"nn\">django.db</span> <span class=\"kn\">import</span> models\n\n<span class=\"k\">class</span> <span class=\"nc\">TaggedItem</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    tag <span class=\"o\">=</span> models<span class=\"o\">.</span>SlugField<span class=\"p\">()</span>\n    content_type <span class=\"o\">=</span> models<span class=\"o\">.</span>ForeignKey<span class=\"p\">(</span>ContentType<span class=\"p\">,</span> on_delete<span class=\"o\">=</span>models<span class=\"o\">.</span>CASCADE<span class=\"p\">)</span>\n    object_id <span class=\"o\">=</span> models<span class=\"o\">.</span>PositiveIntegerField<span class=\"p\">()</span>\n    content_object <span class=\"o\">=</span> GenericForeignKey<span class=\"p\">(</span><span class=\"s1\">&#39;content_type&#39;</span><span class=\"p\">,</span> <span class=\"s1\">&#39;object_id&#39;</span><span class=\"p\">)</span>\n\n    <span class=\"k\">def</span> <span class=\"fm\">__str__</span><span class=\"p\">(</span><span class=\"bp\">self</span><span class=\"p\">):</span>\n        <span class=\"k\">return</span> <span class=\"bp\">self</span><span class=\"o\">.</span>tag\n</code></pre></div>\n<p>Sebuah <a class=\"reference internal\" href=\"/id/3.0/ref/models/fields/#django.db.models.ForeignKey\" title=\"django.db.models.ForeignKey\"><code class=\"xref py py-class docutils literal notranslate\">ForeignKey</code></a> biasa dapat hanya &quot;menunjuk&quot; satu model lain, yang berarti bahwa jika model <code class=\"docutils literal notranslate\">TaggedItem</code> menggunakan sebuah <a class=\"reference internal\" href=\"/id/3.0/ref/models/fields/#django.db.models.ForeignKey\" title=\"django.db.models.ForeignKey\"><code class=\"xref py py-class docutils literal notranslate\">ForeignKey</code></a> itu akan harus memilih satu dan hanya satu model untuk menyimpan etiket-etiket. Aplikasi contenttype menyediakan jenis bidang khusus (<code class=\"docutils literal notranslate\">GenericForeignKey</code>) yang memecahkan ini dan mengizinkan hubungan dengan model apapun.</p>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.fields.GenericForeignKey\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">GenericForeignKey</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.fields.GenericForeignKey\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Terdapat tiga bagian untuk mengatur <a class=\"reference internal\" href=\"#django.contrib.contenttypes.fields.GenericForeignKey\" title=\"django.contrib.contenttypes.fields.GenericForeignKey\"><code class=\"xref py py-class docutils literal notranslate\">GenericForeignKey</code></a>:</p>\n<ol class=\"arabic simple\">\n<li><p>Berikan model anda sebuah <a class=\"reference internal\" href=\"/id/3.0/ref/models/fields/#django.db.models.ForeignKey\" title=\"django.db.models.ForeignKey\"><code class=\"xref py py-class docutils literal notranslate\">ForeignKey</code></a> pada <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a>. Nama biasa untuk bidang ini adalah &quot;content_type&quot;.</p></li>\n<li><p>Berikan model anda sebuah bidang yang dapat menyimpan nilai-nilai primary key dari model-model anda akan kaitkan. Untuk kebanyakan model, ini berarti <a class=\"reference internal\" href=\"/id/3.0/ref/models/fields/#django.db.models.PositiveIntegerField\" title=\"django.db.models.PositiveIntegerField\"><code class=\"xref py py-class docutils literal notranslate\">PositiveIntegerField</code></a>. Nama biasa untuk bidang ini adalah &quot;object_id&quot;.</p></li>\n<li><p>Berikan model anda <a class=\"reference internal\" href=\"#django.contrib.contenttypes.fields.GenericForeignKey\" title=\"django.contrib.contenttypes.fields.GenericForeignKey\"><code class=\"xref py py-class docutils literal notranslate\">GenericForeignKey</code></a>, dan lewatkan itu nama-nama dari dua bidang digambarkan diatas. Jika bidang-bidang ini bernama &quot;content_type&quot; dan &quot;object_id&quot;, anda dapat mengabaikan ini --yaitu nama-nama bidang awalan <a class=\"reference internal\" href=\"#django.contrib.contenttypes.fields.GenericForeignKey\" title=\"django.contrib.contenttypes.fields.GenericForeignKey\"><code class=\"xref py py-class docutils literal notranslate\">GenericForeignKey</code></a> akan mencari.</p></li>\n</ol>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.fields.GenericForeignKey.for_concrete_model\">\n<span class=\"sig-name descname\">for_concrete_model</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.fields.GenericForeignKey.for_concrete_model\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Jika <code class=\"docutils literal notranslate\">False</code>, bidang akan dapat mengacukan model-model proxy. Awalan adalah <code class=\"docutils literal notranslate\">True</code>. Ini mencerminkan argumen <code class=\"docutils literal notranslate\">for_concrete_model</code> pada <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentTypeManager.get_for_model\" title=\"django.contrib.contenttypes.models.ContentTypeManager.get_for_model\"><code class=\"xref py py-meth docutils literal notranslate\">get_for_model()</code></a>.</p>\n</dd></dl>\n\n</dd></dl>\n\n<aside class=\"admonition-primary-key-type-compatibility admonition\" role=\"note\">\n<p class=\"admonition-title\">Kesesuaian jenis primary key</p>\n<p>Bidang &quot;object_id&quot; tidak harus mempunyai jenis sama sebagai bidang primary key pada model-model terkait, tetapi nilai-nilai primary key harus dapat dipaksa ke jenis sama sebagai bidang &quot;object_id&quot; dengan metode <a class=\"reference internal\" href=\"/id/3.0/ref/models/fields/#django.db.models.Field.get_db_prep_value\" title=\"django.db.models.Field.get_db_prep_value\"><code class=\"xref py py-meth docutils literal notranslate\">get_db_prep_value()</code></a> nya.</p>\n<p>Sebagai contoh, jika anda ingin mengizinkan hubungan umum pada model-model dengan salah satu primary key <a class=\"reference internal\" href=\"/id/3.0/ref/models/fields/#django.db.models.IntegerField\" title=\"django.db.models.IntegerField\"><code class=\"xref py py-class docutils literal notranslate\">IntegerField</code></a> atau <a class=\"reference internal\" href=\"/id/3.0/ref/models/fields/#django.db.models.CharField\" title=\"django.db.models.CharField\"><code class=\"xref py py-class docutils literal notranslate\">CharField</code></a>, anda dapat menggunakan <a class=\"reference internal\" href=\"/id/3.0/ref/models/fields/#django.db.models.CharField\" title=\"django.db.models.CharField\"><code class=\"xref py py-class docutils literal notranslate\">CharField</code></a> untuk bidang &quot;object_id&quot; pada model anda karena integer dapat dipaksa menjadi string oleh <a class=\"reference internal\" href=\"/id/3.0/ref/models/fields/#django.db.models.Field.get_db_prep_value\" title=\"django.db.models.Field.get_db_prep_value\"><code class=\"xref py py-meth docutils literal notranslate\">get_db_prep_value()</code></a>.</p>\n<p>Untuk keluwesan maksimal anda dapat menggunakan <a class=\"reference internal\" href=\"/id/3.0/ref/models/fields/#django.db.models.TextField\" title=\"django.db.models.TextField\"><code class=\"xref py py-class docutils literal notranslate\">TextField</code></a> yang tidak mempunyai panjang maksimal ditentukan, bagaimanapun ini mungkin mendatangkan denda penampilan yang berarti bergantung pada backend basisdata anda.</p>\n<p>Tidak ada pemecahan satu-ukuran-cocok-semua untuk jenis bidang yang terbaik. Anda harus menilai model-model anda harapkan untuk ditunjuk dan menentukan pemecahan mana akan menjadi paling efektif untuk penggunaan kasus anda.</p>\n</aside>\n<aside class=\"admonition-serializing-references-to-contenttype-objects admonition\" role=\"note\">\n<p class=\"admonition-title\">Menserialisasikan acuan pada obyek <code class=\"docutils literal notranslate\">ContentType</code></p>\n<p>Jika anda sedang menserialkan data(sebagai contoh, ketika membangkitkan <a class=\"reference internal\" href=\"/id/3.0/topics/testing/tools/#django.test.TransactionTestCase.fixtures\" title=\"django.test.TransactionTestCase.fixtures\"><code class=\"xref py py-class docutils literal notranslate\">fixtures</code></a>) dari sebuah model yang menerapkan hubungan umum, anda harus mungkin menggunakan kunci alami pada secara unik mencirikan obyek <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a> terkait. Lihat <span class=\"xref std std-ref\">natural keys1</span> and <a class=\"reference internal\" href=\"/id/3.0/ref/django-admin/#cmdoption-dumpdata-natural-foreign\"><code class=\"xref std std-option docutils literal notranslate\">dumpdata --natural-foreign</code></a> untuk informasi lebih.</p>\n</aside>\n<p>Ini akan mengadakan sebuah API mitip pada satu digunakan untuk <a class=\"reference internal\" href=\"/id/3.0/ref/models/fields/#django.db.models.ForeignKey\" title=\"django.db.models.ForeignKey\"><code class=\"xref py py-class docutils literal notranslate\">ForeignKey</code></a>; biasa setiap <code class=\"docutils literal notranslate\">TaggedItem</code> akan mempunyai sebuah bidang <code class=\"docutils literal notranslate\">content_object</code> yang mengembalikan obyek yang terkait dengan, dan anda dapat juga menugaskan ke bidang itu atau menggunakan itu ketika membuat sebuah <code class=\"docutils literal notranslate\">TaggedItem</code>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"kn\">from</span> <span class=\"nn\">django.contrib.auth.models</span> <span class=\"kn\">import</span> User\n<span class=\"gp\">&gt;&gt;&gt; </span>guido <span class=\"o\">=</span> User<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span>username<span class=\"o\">=</span><span class=\"s1\">&#39;Guido&#39;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>t <span class=\"o\">=</span> TaggedItem<span class=\"p\">(</span>content_object<span class=\"o\">=</span>guido<span class=\"p\">,</span> tag<span class=\"o\">=</span><span class=\"s1\">&#39;bdfl&#39;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>t<span class=\"o\">.</span>save<span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>t<span class=\"o\">.</span>content_object\n<span class=\"go\">&lt;User: Guido&gt;</span>\n</code></pre></div>\n<p>Jika obyek terkait dihapus, bidang <code class=\"docutils literal notranslate\">content_type</code> dan <code class=\"docutils literal notranslate\">object_id</code> masih menyetel ke nilai aslinya dan <code class=\"docutils literal notranslate\">GenericForeignKey</code> mengembalikan <code class=\"docutils literal notranslate\">None</code>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>guido<span class=\"o\">.</span>delete<span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>t<span class=\"o\">.</span>content_object  <span class=\"c1\"># returns None</span>\n</code></pre></div>\n<p>Dikarenakan cara <a class=\"reference internal\" href=\"#django.contrib.contenttypes.fields.GenericForeignKey\" title=\"django.contrib.contenttypes.fields.GenericForeignKey\"><code class=\"xref py py-class docutils literal notranslate\">GenericForeignKey</code></a> diterapkan, anda tidak dapat menggunakan bidang-bidang itu langsung dengan penyaring  (<code class=\"docutils literal notranslate\">filter()</code> dan <code class=\"docutils literal notranslate\">exclude()</code>, sebagai contoh) melalui API basisdata. Karena <a class=\"reference internal\" href=\"#django.contrib.contenttypes.fields.GenericForeignKey\" title=\"django.contrib.contenttypes.fields.GenericForeignKey\"><code class=\"xref py py-class docutils literal notranslate\">GenericForeignKey</code></a> bukan obyek bisang biasa, contoh-contoh ini akan <em>tidak</em> bekerja:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"c1\"># This will fail</span>\n<span class=\"o\">&gt;&gt;&gt;</span> TaggedItem<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>content_object<span class=\"o\">=</span>guido<span class=\"p\">)</span>\n<span class=\"c1\"># This will also fail</span>\n<span class=\"o\">&gt;&gt;&gt;</span> TaggedItem<span class=\"o\">.</span>objects<span class=\"o\">.</span>get<span class=\"p\">(</span>content_object<span class=\"o\">=</span>guido<span class=\"p\">)</span>\n</code></pre></div>\n<p>Juga, <a class=\"reference internal\" href=\"#django.contrib.contenttypes.fields.GenericForeignKey\" title=\"django.contrib.contenttypes.fields.GenericForeignKey\"><code class=\"xref py py-class docutils literal notranslate\">GenericForeignKey</code></a> tidak muncul dalam <a class=\"reference internal\" href=\"/id/3.0/topics/forms/modelforms/#django.forms.ModelForm\" title=\"django.forms.ModelForm\"><code class=\"xref py py-class docutils literal notranslate\">ModelForm</code></a>.</p>\n<section id=\"reverse-generic-relations\">\n<h3>Membalikkan hubungan umum<a class=\"heading-anchor\" href=\"#reverse-generic-relations\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.fields.GenericRelation\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">GenericRelation</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.fields.GenericRelation\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.fields.GenericRelation.related_query_name\">\n<span class=\"sig-name descname\">related_query_name</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.fields.GenericRelation.related_query_name\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Hubungan pada obyek terkait kembali ke obyek ini tidak ada secara awalan. Pengaturan <code class=\"docutils literal notranslate\">related_query_name</code> membuat sebuah hubungan dari obyek terkait kembali ke satu ini. Ini mengizinkan meminta dan menyaring dari obyek terkait.</p>\n</dd></dl>\n\n</dd></dl>\n\n<p>Jika anda mengetahui model-model mana anda akan menggunakan paling sering, anda dapat juga menambahkan hubungan umum &quot;reverse&quot; untuk mengadakan sebuah tambahan API. Sebagai contoh:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"kn\">from</span> <span class=\"nn\">django.contrib.contenttypes.fields</span> <span class=\"kn\">import</span> GenericRelation\n<span class=\"kn\">from</span> <span class=\"nn\">django.db</span> <span class=\"kn\">import</span> models\n\n<span class=\"k\">class</span> <span class=\"nc\">Bookmark</span><span class=\"p\">(</span>models<span class=\"o\">.</span>Model<span class=\"p\">):</span>\n    url <span class=\"o\">=</span> models<span class=\"o\">.</span>URLField<span class=\"p\">()</span>\n    tags <span class=\"o\">=</span> GenericRelation<span class=\"p\">(</span>TaggedItem<span class=\"p\">)</span>\n</code></pre></div>\n<p>Instance <code class=\"docutils literal notranslate\">Bookmark</code> akan setipanya memiliki sebuah atribut <code class=\"docutils literal notranslate\">tags</code>, yang dapat digunakan untuk mengambil <code class=\"docutils literal notranslate\">TaggedItems</code> terkait mereka:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>b <span class=\"o\">=</span> Bookmark<span class=\"p\">(</span>url<span class=\"o\">=</span><span class=\"s1\">&#39;https://www.djangoproject.com/&#39;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>b<span class=\"o\">.</span>save<span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>t1 <span class=\"o\">=</span> TaggedItem<span class=\"p\">(</span>content_object<span class=\"o\">=</span>b<span class=\"p\">,</span> tag<span class=\"o\">=</span><span class=\"s1\">&#39;django&#39;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>t1<span class=\"o\">.</span>save<span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>t2 <span class=\"o\">=</span> TaggedItem<span class=\"p\">(</span>content_object<span class=\"o\">=</span>b<span class=\"p\">,</span> tag<span class=\"o\">=</span><span class=\"s1\">&#39;python&#39;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>t2<span class=\"o\">.</span>save<span class=\"p\">()</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>b<span class=\"o\">.</span>tags<span class=\"o\">.</span>all<span class=\"p\">()</span>\n<span class=\"go\">&lt;QuerySet [&lt;TaggedItem: django&gt;, &lt;TaggedItem: python&gt;]&gt;</span>\n</code></pre></div>\n<p>Menentukan <a class=\"reference internal\" href=\"#django.contrib.contenttypes.fields.GenericRelation\" title=\"django.contrib.contenttypes.fields.GenericRelation\"><code class=\"xref py py-class docutils literal notranslate\">GenericRelation</code></a> dengan kumpulan <code class=\"docutils literal notranslate\">related_query_name</code> mengizinkan meminta dari obyek terkait:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>tags <span class=\"o\">=</span> GenericRelation<span class=\"p\">(</span>TaggedItem<span class=\"p\">,</span> related_query_name<span class=\"o\">=</span><span class=\"s1\">&#39;bookmark&#39;</span><span class=\"p\">)</span>\n</code></pre></div>\n<p>Ini mengadakan penyaring, oengurutan, dan tindakan permintaan lain pada <code class=\"docutils literal notranslate\">Bookmark</code> dari <code class=\"docutils literal notranslate\">TaggedItem</code>:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"gp\">&gt;&gt;&gt; </span><span class=\"c1\"># Get all tags belonging to bookmarks containing `django` in the url</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>TaggedItem<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>bookmark__url__contains<span class=\"o\">=</span><span class=\"s1\">&#39;django&#39;</span><span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [&lt;TaggedItem: django&gt;, &lt;TaggedItem: python&gt;]&gt;</span>\n</code></pre></div>\n<p>Tentu saja, jika anda tidak menambah <code class=\"docutils literal notranslate\">related_query_name</code>, anda dapat melakukan jenis-jenis sama dari pencarian secara manual:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>bookmarks <span class=\"o\">=</span> Bookmark<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>url__contains<span class=\"o\">=</span><span class=\"s1\">&#39;django&#39;</span><span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>bookmark_type <span class=\"o\">=</span> ContentType<span class=\"o\">.</span>objects<span class=\"o\">.</span>get_for_model<span class=\"p\">(</span>Bookmark<span class=\"p\">)</span>\n<span class=\"gp\">&gt;&gt;&gt; </span>TaggedItem<span class=\"o\">.</span>objects<span class=\"o\">.</span>filter<span class=\"p\">(</span>content_type__pk<span class=\"o\">=</span>bookmark_type<span class=\"o\">.</span>id<span class=\"p\">,</span> object_id__in<span class=\"o\">=</span>bookmarks<span class=\"p\">)</span>\n<span class=\"go\">&lt;QuerySet [&lt;TaggedItem: django&gt;, &lt;TaggedItem: python&gt;]&gt;</span>\n</code></pre></div>\n<p>Sama seperti <a class=\"reference internal\" href=\"#django.contrib.contenttypes.fields.GenericForeignKey\" title=\"django.contrib.contenttypes.fields.GenericForeignKey\"><code class=\"xref py py-class docutils literal notranslate\">GenericForeignKey</code></a> menerima nama-nama dari bidang content-type dan object-ID sebagai argumen, begitu juga <a class=\"reference internal\" href=\"#django.contrib.contenttypes.fields.GenericRelation\" title=\"django.contrib.contenttypes.fields.GenericRelation\"><code class=\"xref py py-class docutils literal notranslate\">GenericRelation</code></a>; jika model yang mempunyai foreign key umum menggunakan nama bukan-awalan untuk bidang-bidang tersebut, anda harus melewatkan nama-nama dari bidang ketika mengatur sebuah <a class=\"reference internal\" href=\"#django.contrib.contenttypes.fields.GenericRelation\" title=\"django.contrib.contenttypes.fields.GenericRelation\"><code class=\"xref py py-class docutils literal notranslate\">GenericRelation</code></a> untuk itu. Sebagai contoh, jika model <code class=\"docutils literal notranslate\">TaggedItem</code> mengacu pada diatas menggunakan bidang bernama <code class=\"docutils literal notranslate\">content_type_fk</code> dan <code class=\"docutils literal notranslate\">object_primary_key</code> untuk membuat foreign key umumnya, kemudian <a class=\"reference internal\" href=\"#django.contrib.contenttypes.fields.GenericRelation\" title=\"django.contrib.contenttypes.fields.GenericRelation\"><code class=\"xref py py-class docutils literal notranslate\">GenericRelation</code></a> kembali ke itu akan butuh ditentukan seperti itu:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code>tags <span class=\"o\">=</span> GenericRelation<span class=\"p\">(</span>\n    TaggedItem<span class=\"p\">,</span>\n    content_type_field<span class=\"o\">=</span><span class=\"s1\">&#39;content_type_fk&#39;</span><span class=\"p\">,</span>\n    object_id_field<span class=\"o\">=</span><span class=\"s1\">&#39;object_primary_key&#39;</span><span class=\"p\">,</span>\n<span class=\"p\">)</span>\n</code></pre></div>\n<p>Catat juga, bahwa jika anda menghapus sebuah obyek yang mempunyai sebuah <a class=\"reference internal\" href=\"#django.contrib.contenttypes.fields.GenericRelation\" title=\"django.contrib.contenttypes.fields.GenericRelation\"><code class=\"xref py py-class docutils literal notranslate\">GenericRelation</code></a>, obyek apapun yang mempunyai <a class=\"reference internal\" href=\"#django.contrib.contenttypes.fields.GenericForeignKey\" title=\"django.contrib.contenttypes.fields.GenericForeignKey\"><code class=\"xref py py-class docutils literal notranslate\">GenericForeignKey</code></a> menunjuk ke itu akan dihapus juga. Dalam contoh diatas, ini berarti bahwa jika sebuah obyek <code class=\"docutils literal notranslate\">Bookmark</code> dihapus, obyek <code class=\"docutils literal notranslate\">TaggedItem</code> apapun menunjuk pada itu akan dihapus pada waktu yang sama.</p>\n<p>Unlike <a class=\"reference internal\" href=\"/id/3.0/ref/models/fields/#django.db.models.ForeignKey\" title=\"django.db.models.ForeignKey\"><code class=\"xref py py-class docutils literal notranslate\">ForeignKey</code></a>,\n<a class=\"reference internal\" href=\"#django.contrib.contenttypes.fields.GenericForeignKey\" title=\"django.contrib.contenttypes.fields.GenericForeignKey\"><code class=\"xref py py-class docutils literal notranslate\">GenericForeignKey</code></a> does not accept\nan <a class=\"reference internal\" href=\"/id/3.0/ref/models/fields/#django.db.models.ForeignKey.on_delete\" title=\"django.db.models.ForeignKey.on_delete\"><code class=\"xref py py-attr docutils literal notranslate\">on_delete</code></a> argument to customize this\nbehavior; if desired, you can avoid the cascade-deletion by not using\n<a class=\"reference internal\" href=\"#django.contrib.contenttypes.fields.GenericRelation\" title=\"django.contrib.contenttypes.fields.GenericRelation\"><code class=\"xref py py-class docutils literal notranslate\">GenericRelation</code></a>, and alternate\nbehavior can be provided via the <a class=\"reference internal\" href=\"/id/3.0/ref/signals/#django.db.models.signals.pre_delete\" title=\"django.db.models.signals.pre_delete\"><code class=\"xref py py-data docutils literal notranslate\">pre_delete</code></a>\nsignal.</p>\n</section>\n<section id=\"generic-relations-and-aggregation\">\n<h3>Hubungan umum dan pengumpulan<a class=\"heading-anchor\" href=\"#generic-relations-and-aggregation\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p><a class=\"reference internal\" href=\"/id/3.0/topics/db/aggregation/\"><span class=\"doc\">Django's database aggregation API</span></a> bekerja dengan <a class=\"reference internal\" href=\"#django.contrib.contenttypes.fields.GenericRelation\" title=\"django.contrib.contenttypes.fields.GenericRelation\"><code class=\"xref py py-class docutils literal notranslate\">GenericRelation</code></a>. Sebagai contoh, anda dapat menemukan berapa banyak etiket semua bookmark miliki:</p>\n<div class=\"code-block\" data-language=\"default\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Code</span><button type=\"button\" class=\"copy-button\" data-copy hidden><span class=\"copy-button-label\">Copy</span></button></div><pre role=\"group\" tabindex=\"0\" aria-label=\"Code code\"><code><span class=\"gp\">&gt;&gt;&gt; </span>Bookmark<span class=\"o\">.</span>objects<span class=\"o\">.</span>aggregate<span class=\"p\">(</span>Count<span class=\"p\">(</span><span class=\"s1\">&#39;tags&#39;</span><span class=\"p\">))</span>\n<span class=\"go\">{&#39;tags__count&#39;: 3}</span>\n</code></pre></div>\n</section>\n<section id=\"generic-relation-in-forms\">\n<span id=\"module-django.contrib.contenttypes.forms\"></span><h3>Hubungan umum di formulir<a class=\"heading-anchor\" href=\"#generic-relation-in-forms\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Modul <a class=\"reference internal\" href=\"#module-django.contrib.contenttypes.forms\" title=\"django.contrib.contenttypes.forms\"><code class=\"xref py py-mod docutils literal notranslate\">django.contrib.contenttypes.forms</code></a> menyediakan:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"#django.contrib.contenttypes.forms.BaseGenericInlineFormSet\" title=\"django.contrib.contenttypes.forms.BaseGenericInlineFormSet\"><code class=\"xref py py-class docutils literal notranslate\">BaseGenericInlineFormSet</code></a></p></li>\n<li><p>Pabrik formset, <a class=\"reference internal\" href=\"#django.contrib.contenttypes.forms.generic_inlineformset_factory\" title=\"django.contrib.contenttypes.forms.generic_inlineformset_factory\"><code class=\"xref py py-func docutils literal notranslate\">generic_inlineformset_factory()</code></a>, untuk digunakan dengan <a class=\"reference internal\" href=\"#django.contrib.contenttypes.fields.GenericForeignKey\" title=\"django.contrib.contenttypes.fields.GenericForeignKey\"><code class=\"xref py py-class docutils literal notranslate\">GenericForeignKey</code></a>.</p></li>\n</ul>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.forms.BaseGenericInlineFormSet\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">BaseGenericInlineFormSet</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.forms.BaseGenericInlineFormSet\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py function\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.forms.generic_inlineformset_factory\">\n<span class=\"sig-name descname\">generic_inlineformset_factory</span><span class=\"sig-paren\">(</span><em class=\"sig-param\">model</em>, <em class=\"sig-param\">form<span class=\"o\">=</span><span class=\"default_value\">ModelForm</span></em>, <em class=\"sig-param\">formset<span class=\"o\">=</span><span class=\"default_value\">BaseGenericInlineFormSet</span></em>, <em class=\"sig-param\">ct_field<span class=\"o\">=</span><span class=\"default_value\">'content_type'</span></em>, <em class=\"sig-param\">fk_field<span class=\"o\">=</span><span class=\"default_value\">'object_id'</span></em>, <em class=\"sig-param\">fields<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">exclude<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">extra<span class=\"o\">=</span><span class=\"default_value\">3</span></em>, <em class=\"sig-param\">can_order<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">can_delete<span class=\"o\">=</span><span class=\"default_value\">True</span></em>, <em class=\"sig-param\">max_num<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">formfield_callback<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">validate_max<span class=\"o\">=</span><span class=\"default_value\">False</span></em>, <em class=\"sig-param\">for_concrete_model<span class=\"o\">=</span><span class=\"default_value\">True</span></em>, <em class=\"sig-param\">min_num<span class=\"o\">=</span><span class=\"default_value\">None</span></em>, <em class=\"sig-param\">validate_min<span class=\"o\">=</span><span class=\"default_value\">False</span></em><span class=\"sig-paren\">)</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.forms.generic_inlineformset_factory\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Mengembalikan <code class=\"docutils literal notranslate\">GenericInlineFormSet</code> menggunakan <a class=\"reference internal\" href=\"/id/3.0/ref/forms/models/#django.forms.models.modelformset_factory\" title=\"django.forms.models.modelformset_factory\"><code class=\"xref py py-func docutils literal notranslate\">modelformset_factory()</code></a>.</p>\n<p>Anda harus menyediakan <code class=\"docutils literal notranslate\">ct_field</code> dan <code class=\"docutils literal notranslate\">fk_field</code> jika mereka berbeda dari awalan, <code class=\"docutils literal notranslate\">content_type</code> dan <code class=\"docutils literal notranslate\">object_id</code> masing-masing. Parameter lain adalah mirip ke yang didokumentasi di <a class=\"reference internal\" href=\"/id/3.0/ref/forms/models/#django.forms.models.modelformset_factory\" title=\"django.forms.models.modelformset_factory\"><code class=\"xref py py-func docutils literal notranslate\">modelformset_factory()</code></a> dan <a class=\"reference internal\" href=\"/id/3.0/ref/forms/models/#django.forms.models.inlineformset_factory\" title=\"django.forms.models.inlineformset_factory\"><code class=\"xref py py-func docutils literal notranslate\">inlineformset_factory()</code></a>.</p>\n<p>Argumen <code class=\"docutils literal notranslate\">for_concrete_model</code> berhubungan ke argumen <a class=\"reference internal\" href=\"#django.contrib.contenttypes.fields.GenericForeignKey.for_concrete_model\" title=\"django.contrib.contenttypes.fields.GenericForeignKey.for_concrete_model\"><code class=\"xref py py-class docutils literal notranslate\">for_concrete_model</code></a> pada <code class=\"docutils literal notranslate\">GenericForeignKey</code>.</p>\n</dd></dl>\n\n</section>\n<section id=\"generic-relations-in-admin\">\n<span id=\"module-django.contrib.contenttypes.admin\"></span><h3>Hubungan umum di admin<a class=\"heading-anchor\" href=\"#generic-relations-in-admin\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Modul <a class=\"reference internal\" href=\"#module-django.contrib.contenttypes.admin\" title=\"django.contrib.contenttypes.admin\"><code class=\"xref py py-mod docutils literal notranslate\">django.contrib.contenttypes.admin</code></a> menyediakan <a class=\"reference internal\" href=\"#django.contrib.contenttypes.admin.GenericTabularInline\" title=\"django.contrib.contenttypes.admin.GenericTabularInline\"><code class=\"xref py py-class docutils literal notranslate\">GenericTabularInline</code></a> dan <a class=\"reference internal\" href=\"#django.contrib.contenttypes.admin.GenericStackedInline\" title=\"django.contrib.contenttypes.admin.GenericStackedInline\"><code class=\"xref py py-class docutils literal notranslate\">GenericStackedInline</code></a> (subkelas-subkelas dari <a class=\"reference internal\" href=\"#django.contrib.contenttypes.admin.GenericInlineModelAdmin\" title=\"django.contrib.contenttypes.admin.GenericInlineModelAdmin\"><code class=\"xref py py-class docutils literal notranslate\">GenericInlineModelAdmin</code></a>)</p>\n<p>Kelas-kelas dan fungsi-fungsi ini mengadakan penggunaan hubungan umum di formulir dan admin. Lihat dokumentasi <a class=\"reference internal\" href=\"/id/3.0/topics/forms/modelforms/\"><span class=\"doc\">model formset</span></a> dan <a class=\"reference internal\" href=\"/id/3.0/ref/contrib/admin/#using-generic-relations-as-an-inline\"><span class=\"std std-ref\">admin</span></a> untuk informasi lebih.</p>\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.admin.GenericInlineModelAdmin\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">GenericInlineModelAdmin</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.admin.GenericInlineModelAdmin\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Kelas <a class=\"reference internal\" href=\"#django.contrib.contenttypes.admin.GenericInlineModelAdmin\" title=\"django.contrib.contenttypes.admin.GenericInlineModelAdmin\"><code class=\"xref py py-class docutils literal notranslate\">GenericInlineModelAdmin</code></a> mewarisi semua sifat-sifat dari sebuah kelas <a class=\"reference internal\" href=\"/id/3.0/ref/contrib/admin/#django.contrib.admin.InlineModelAdmin\" title=\"django.contrib.admin.InlineModelAdmin\"><code class=\"xref py py-class docutils literal notranslate\">InlineModelAdmin</code></a>. Bagaimanapun, itu menambahkan sebuah pasang dari itu sendiri untuk bekerja dengan hubungan umum:</p>\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.admin.GenericInlineModelAdmin.ct_field\">\n<span class=\"sig-name descname\">ct_field</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.admin.GenericInlineModelAdmin.ct_field\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Nama dari bidang foreign key <a class=\"reference internal\" href=\"#django.contrib.contenttypes.models.ContentType\" title=\"django.contrib.contenttypes.models.ContentType\"><code class=\"xref py py-class docutils literal notranslate\">ContentType</code></a> pada model. Awalan pada <code class=\"docutils literal notranslate\">content_type</code>.</p>\n</dd></dl>\n\n<dl class=\"py attribute\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.admin.GenericInlineModelAdmin.ct_fk_field\">\n<span class=\"sig-name descname\">ct_fk_field</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.admin.GenericInlineModelAdmin.ct_fk_field\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Nama dari bidang integer yang mewakili ID dari obyek terkait. Awalan pada <code class=\"docutils literal notranslate\">object_id</code>.</p>\n</dd></dl>\n\n</dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.admin.GenericTabularInline\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">GenericTabularInline</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.admin.GenericTabularInline\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py class\">\n<dt class=\"sig sig-object py\" id=\"django.contrib.contenttypes.admin.GenericStackedInline\">\n<em class=\"property\"><span class=\"k\">class</span> </em><span class=\"sig-name descname\">GenericStackedInline</span><a class=\"heading-anchor\" href=\"#django.contrib.contenttypes.admin.GenericStackedInline\"><span class=\"visually-hidden\">Link to this definition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Subkelas-subkelas dari <a class=\"reference internal\" href=\"#django.contrib.contenttypes.admin.GenericInlineModelAdmin\" title=\"django.contrib.contenttypes.admin.GenericInlineModelAdmin\"><code class=\"xref py py-class docutils literal notranslate\">GenericInlineModelAdmin</code></a> dengan tata letak bertumpuk dan datar, masing-masing.</p>\n</dd></dl>\n\n</section>\n</section>","rootId":"module-django.contrib.contenttypes","toc":[{"title":"Ikhtisar","anchor":"overview","children":[]},{"title":"Memasang kerangka contenttypes","anchor":"installing-the-contenttypes-framework","children":[]},{"title":"Model ContentType","anchor":"the-contenttype-model","children":[]},{"title":"Metode pada instance ContentType","anchor":"methods-on-contenttype-instances","children":[{"title":"ContentTypeManager","anchor":"the-contenttypemanager","children":[]}]},{"title":"Hubungan umum","anchor":"generic-relations","children":[{"title":"Membalikkan hubungan umum","anchor":"reverse-generic-relations","children":[]},{"title":"Hubungan umum dan pengumpulan","anchor":"generic-relations-and-aggregation","children":[]},{"title":"Hubungan umum di formulir","anchor":"generic-relation-in-forms","children":[]},{"title":"Hubungan umum di admin","anchor":"generic-relations-in-admin","children":[]}]}],"breadcrumbs":[{"docname":"ref/index","title":"Acuan API","url":"/id/3.0/ref/"},{"docname":"ref/contrib/index","title":"Paket contrib","url":"/id/3.0/ref/contrib/"}],"prev":{"docname":"ref/contrib/auth","title":"django.contrib.auth","url":"/id/3.0/ref/contrib/auth/"},"next":{"docname":"ref/contrib/flatpages","title":"Aplikasi flatpage","url":"/id/3.0/ref/contrib/flatpages/"},"formats":{"html":"/id/3.0/ref/contrib/contenttypes/","markdown":"/id/3.0/ref/contrib/contenttypes.md","json":"/id/3.0/ref/contrib/contenttypes.json"},"source":"https://github.com/django/django/blob/stable/3.0.x/docs/ref/contrib/contenttypes.txt","official":"https://docs.djangoproject.com/id/3.0/ref/contrib/contenttypes/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","zh-hans","fr","ja","id","pt-br","ko","es","el","pl"]}