{"title":"Bagaimana menyediakan data awal untuk model","version":"5.2","locale":"id","docname":"howto/initial-data","url":"/id/5.2/howto/initial-data/","canonical":"https://djangodocs.dev/id/5.2/howto/initial-data/","summary":"Terkadang berguna mengisi terlebih dahulu basisdata anda dengan data berkode keras ketika anda pertama kali mensetel aplikasi. Anda dapat menyediakan data awal…","html":"<h1>Bagaimana menyediakan data awal untuk model<a class=\"heading-anchor\" href=\"#how-to-provide-initial-data-for-models\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Terkadang berguna mengisi terlebih dahulu basisdata anda dengan data berkode keras ketika anda pertama kali mensetel aplikasi. Anda dapat menyediakan data awal dengan perpindahan atau perlengkapan.</p>\n<section id=\"provide-initial-data-with-migrations\">\n<h2>Sediakan data awal dengan perpindahan<a class=\"heading-anchor\" href=\"#provide-initial-data-with-migrations\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Untuk secara otomatis memuat data inisial untuk sebuah aplikasi, buat sebuah <a class=\"reference internal\" href=\"/id/5.2/topics/migrations/#data-migrations\"><span class=\"std std-ref\">data migration</span></a>. Perpindahan berjalan ketika membuat basisdata contoh, jadi data akan tersedia disana bergantung pada <a class=\"reference internal\" href=\"/id/5.2/topics/testing/overview/#test-case-serialized-rollback\"><span class=\"std std-ref\">some limitations</span></a>.</p>\n</section>\n<section id=\"provide-data-with-fixtures\">\n<span id=\"initial-data-via-fixtures\"></span><h2>Sediakan data dengan perlengkapan<a class=\"heading-anchor\" href=\"#provide-data-with-fixtures\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Anda dapat juga menyediakan data menggunakan <a class=\"reference internal\" href=\"/id/5.2/topics/db/fixtures/#fixtures-explanation\"><span class=\"std std-ref\">fixtures</span></a>, bagaimanapun, data ini tidak dimuat otomatis, kecuali jika anda menggunakan <a class=\"reference internal\" href=\"/id/5.2/topics/testing/tools/#django.test.TransactionTestCase.fixtures\" title=\"django.test.TransactionTestCase.fixtures\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">TransactionTestCase.fixtures</span></code></a>.</p>\n<p>Perlengkapan tetap adalah sebuah kumpulan dari data yang Django ketahui bagaimana diimpor kedalam sebuah basisdata. Kebanyakan jalan mudah dari pembuatan perlengkapan tetap jika anda telah mendapatkan beberapa data adalah untuk menggunakan perintah  <a class=\"reference internal\" href=\"/id/5.2/ref/django-admin/#django-admin-dumpdata\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">manage.py</span> <span class=\"pre\">dumpdata</span></code></a>. Atau, anda dapat menulis perlengkapan tetap dengan tangan; perlengkapan tetap dapat ditulis sebagai dokumen JSON, XML atau YAML (dengan <a class=\"reference external\" href=\"https://pyyaml.org/\">PyYAML</a> terpasang). <a class=\"reference internal\" href=\"/id/5.2/topics/serialization/\"><span class=\"doc\">serialization documentation</span></a> mempunyai lebih rincian tentang setiap dari ini <a class=\"reference internal\" href=\"/id/5.2/topics/serialization/#serialization-formats\"><span class=\"std std-ref\">serialization formats</span></a> yang didukung.</p>\n<p>Sebagai contoh, meskipun, inilah yang perlengkapan untuk model <code class=\"docutils literal notranslate\"><span class=\"pre\">Person</span></code> mungkin terlihat seperti dalam JSON:</p>\n<div class=\"code-block\" data-language=\"js\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Js</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=\"Js code\"><code><span class=\"p\">[</span>\n<span class=\"w\">  </span><span class=\"p\">{</span>\n<span class=\"w\">    </span><span class=\"s2\">&quot;model&quot;</span><span class=\"o\">:</span><span class=\"w\"> </span><span class=\"s2\">&quot;myapp.person&quot;</span><span class=\"p\">,</span>\n<span class=\"w\">    </span><span class=\"s2\">&quot;pk&quot;</span><span class=\"o\">:</span><span class=\"w\"> </span><span class=\"mf\">1</span><span class=\"p\">,</span>\n<span class=\"w\">    </span><span class=\"s2\">&quot;fields&quot;</span><span class=\"o\">:</span><span class=\"w\"> </span><span class=\"p\">{</span>\n<span class=\"w\">      </span><span class=\"s2\">&quot;first_name&quot;</span><span class=\"o\">:</span><span class=\"w\"> </span><span class=\"s2\">&quot;John&quot;</span><span class=\"p\">,</span>\n<span class=\"w\">      </span><span class=\"s2\">&quot;last_name&quot;</span><span class=\"o\">:</span><span class=\"w\"> </span><span class=\"s2\">&quot;Lennon&quot;</span>\n<span class=\"w\">    </span><span class=\"p\">}</span>\n<span class=\"w\">  </span><span class=\"p\">},</span>\n<span class=\"w\">  </span><span class=\"p\">{</span>\n<span class=\"w\">    </span><span class=\"s2\">&quot;model&quot;</span><span class=\"o\">:</span><span class=\"w\"> </span><span class=\"s2\">&quot;myapp.person&quot;</span><span class=\"p\">,</span>\n<span class=\"w\">    </span><span class=\"s2\">&quot;pk&quot;</span><span class=\"o\">:</span><span class=\"w\"> </span><span class=\"mf\">2</span><span class=\"p\">,</span>\n<span class=\"w\">    </span><span class=\"s2\">&quot;fields&quot;</span><span class=\"o\">:</span><span class=\"w\"> </span><span class=\"p\">{</span>\n<span class=\"w\">      </span><span class=\"s2\">&quot;first_name&quot;</span><span class=\"o\">:</span><span class=\"w\"> </span><span class=\"s2\">&quot;Paul&quot;</span><span class=\"p\">,</span>\n<span class=\"w\">      </span><span class=\"s2\">&quot;last_name&quot;</span><span class=\"o\">:</span><span class=\"w\"> </span><span class=\"s2\">&quot;McCartney&quot;</span>\n<span class=\"w\">    </span><span class=\"p\">}</span>\n<span class=\"w\">  </span><span class=\"p\">}</span>\n<span class=\"p\">]</span>\n</code></pre></div>\n<p>Dan ini adalah yang perlengkapan tetap sama seperti YAML:</p>\n<div class=\"code-block\" data-language=\"yaml\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">YAML</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=\"YAML code\"><code><span class=\"p p-Indicator\">-</span><span class=\"w\"> </span><span class=\"nt\">model</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"l l-Scalar l-Scalar-Plain\">myapp.person</span>\n<span class=\"w\">  </span><span class=\"nt\">pk</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"l l-Scalar l-Scalar-Plain\">1</span>\n<span class=\"w\">  </span><span class=\"nt\">fields</span><span class=\"p\">:</span>\n<span class=\"w\">    </span><span class=\"nt\">first_name</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"l l-Scalar l-Scalar-Plain\">John</span>\n<span class=\"w\">    </span><span class=\"nt\">last_name</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"l l-Scalar l-Scalar-Plain\">Lennon</span>\n<span class=\"p p-Indicator\">-</span><span class=\"w\"> </span><span class=\"nt\">model</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"l l-Scalar l-Scalar-Plain\">myapp.person</span>\n<span class=\"w\">  </span><span class=\"nt\">pk</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"l l-Scalar l-Scalar-Plain\">2</span>\n<span class=\"w\">  </span><span class=\"nt\">fields</span><span class=\"p\">:</span>\n<span class=\"w\">    </span><span class=\"nt\">first_name</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"l l-Scalar l-Scalar-Plain\">Paul</span>\n<span class=\"w\">    </span><span class=\"nt\">last_name</span><span class=\"p\">:</span><span class=\"w\"> </span><span class=\"l l-Scalar l-Scalar-Plain\">McCartney</span>\n</code></pre></div>\n<p>Anda akan menyimpan data ini dalam sebuah direktori <code class=\"docutils literal notranslate\"><span class=\"pre\">fixtures</span></code> didalam aplikasi anda.</p>\n<p>Anda dapat memuat data dengan memanggil <a class=\"reference internal\" href=\"/id/5.2/ref/django-admin/#django-admin-loaddata\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">manage.py</span> <span class=\"pre\">loaddata</span></code></a> <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;fixturename&gt;</span></code>, dimana <code class=\"docutils literal notranslate\"><span class=\"pre\">&lt;fixturename&gt;</span></code> adalah nama dari berkas fixture anda telah buat. Setiap waktu anda menjalankan <a class=\"reference internal\" href=\"/id/5.2/ref/django-admin/#django-admin-loaddata\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">loaddata</span></code></a>, data akan dibaca dari fixture dan dimuat kembali ke dalam basisdata. Catat ini berarti bahwa jika anda merubah satu dari baris dibuat oleh fixture dan kemudian menjalankan <a class=\"reference internal\" href=\"/id/5.2/ref/django-admin/#django-admin-loaddata\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">loaddata</span></code></a> kembali, anda akan menghapus semua perubahan yang telah anda buat.</p>\n<section id=\"tell-django-where-to-look-for-fixture-files\">\n<h3>Beritahu Django dimana mencari untuk berkas perlengkapan<a class=\"heading-anchor\" href=\"#tell-django-where-to-look-for-fixture-files\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h3>\n<p>Secara awalan, Django mencari fixtures dalam direktori <code class=\"docutils literal notranslate\"><span class=\"pre\">fixtures</span></code> didalam setiap aplikasi, jadi perintah <code class=\"docutils literal notranslate\"><span class=\"pre\">loaddata</span> <span class=\"pre\">sample</span></code> akan menemukan berkas <code class=\"docutils literal notranslate\"><span class=\"pre\">my_app/fixtures/sample.json</span></code>. Ini dapat bekerja dengan jalur relatif juga, jadi <code class=\"docutils literal notranslate\"><span class=\"pre\">loaddata</span> <span class=\"pre\">my_app/sample</span></code> akan bemenukan berkas <code class=\"docutils literal notranslate\"><span class=\"pre\">my_app/fixtures/my_app/sample.json</span></code>.</p>\n<p>Django juga mencari untuk perlengkapan dalam daftar direktori disediakan dalam pengaturan <a class=\"reference internal\" href=\"/id/5.2/ref/settings/#std-setting-FIXTURE_DIRS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">FIXTURE_DIRS</span></code></a>.</p>\n<p>Untuk sepenuhnya mencegah pencarian awalan dari terjadi, gunakan jalur mutlak untuk menentukan tempat dari berkas fixture anda, yaitu <code class=\"docutils literal notranslate\"><span class=\"pre\">loaddata</span> <span class=\"pre\">/path/to/sample</span></code>.</p>\n<aside class=\"admonition-namespace-your-fixture-files admonition\">\n<p class=\"admonition-title\">Namespace berkas perlengkapan anda</p>\n<p>Django akan menggunakan berkas fixture pertama yang ditemukan yang namanya cocok, jadi jika anda memiliki berkas fixture dengan nama sama di aplikasi berbeda, anda tidak akan dapat membedakan diantara mereks dalam perintah <code class=\"docutils literal notranslate\"><span class=\"pre\">loaddata</span></code> anda Cara termudah menghindari ini adalah dengan <em>namespacing</em> berkas fixture anda. Yaitu, dengan menaruh mereka didalam direktori dinamai untuk aplikasi mereka, seperti di contoh jalur mutlak diatas.</p>\n</aside>\n<aside class=\"admonition admonition-seealso\">\n<p class=\"admonition-title\">Lihat juga</p>\n<p>Perlengkapan tetap juga digunakan oleh <a class=\"reference internal\" href=\"/id/5.2/topics/testing/tools/#topics-testing-fixtures\"><span class=\"std std-ref\">testing framework</span></a> untuk membantu mengatur kelesarasan lingkungan percobaan.</p>\n</aside>\n</section>\n</section>","rootId":"how-to-provide-initial-data-for-models","toc":[{"title":"Sediakan data awal dengan perpindahan","anchor":"provide-initial-data-with-migrations","children":[]},{"title":"Sediakan data dengan perlengkapan","anchor":"provide-data-with-fixtures","children":[{"title":"Beritahu Django dimana mencari untuk berkas perlengkapan","anchor":"tell-django-where-to-look-for-fixture-files","children":[]}]}],"breadcrumbs":[{"docname":"howto/index","title":"Panduan Cara-cara","url":"/id/5.2/howto/"}],"prev":{"docname":"howto/index","title":"Panduan Cara-cara","url":"/id/5.2/howto/"},"next":{"docname":"howto/legacy-databases","title":"Bagaimana menggabungkan Django dengan basisdata warisan","url":"/id/5.2/howto/legacy-databases/"},"formats":{"html":"/id/5.2/howto/initial-data/","markdown":"/id/5.2/howto/initial-data.md","json":"/id/5.2/howto/initial-data.json"},"source":"https://github.com/django/django/blob/stable/5.2.x/docs/howto/initial-data.txt","official":"https://docs.djangoproject.com/id/5.2/howto/initial-data/","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","sv","zh-hans","ga","fr","ja","id","it","pt-br","ko","es","el","pl"]}