{"title":"Bagaimana menyediakan data awal untuk model","version":"6.1","locale":"id","docname":"howto/initial-data","url":"/id/6.1/howto/initial-data/","canonical":"https://djangodocs.dev/id/6.1/howto/initial-data/","summary":"It's sometimes useful to prepopulate your database with hardcoded data when you're first setting up an app.","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>It's sometimes useful to prepopulate your database with hardcoded data when\nyou're first setting up an app. You can provide initial data with migrations or\nfixtures.</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/6.1/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/6.1/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/6.1/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/6.1/topics/testing/tools/#django.test.TransactionTestCase.fixtures\" title=\"django.test.TransactionTestCase.fixtures\"><code class=\"xref py py-attr docutils literal notranslate\">TransactionTestCase.fixtures</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/6.1/ref/django-admin/#django-admin-dumpdata\"><code class=\"xref std std-djadmin docutils literal notranslate\">manage.py dumpdata</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/6.1/topics/serialization/\"><span class=\"doc\">serialization documentation</span></a> mempunyai lebih rincian tentang setiap dari ini <a class=\"reference internal\" href=\"/id/6.1/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\">Person</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=\"p\">{</span>\n    <span class=\"s2\">&quot;model&quot;</span><span class=\"o\">:</span> <span class=\"s2\">&quot;myapp.person&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;pk&quot;</span><span class=\"o\">:</span> <span class=\"mf\">1</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;fields&quot;</span><span class=\"o\">:</span> <span class=\"p\">{</span>\n      <span class=\"s2\">&quot;first_name&quot;</span><span class=\"o\">:</span> <span class=\"s2\">&quot;John&quot;</span><span class=\"p\">,</span>\n      <span class=\"s2\">&quot;last_name&quot;</span><span class=\"o\">:</span> <span class=\"s2\">&quot;Lennon&quot;</span>\n    <span class=\"p\">}</span>\n  <span class=\"p\">},</span>\n  <span class=\"p\">{</span>\n    <span class=\"s2\">&quot;model&quot;</span><span class=\"o\">:</span> <span class=\"s2\">&quot;myapp.person&quot;</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;pk&quot;</span><span class=\"o\">:</span> <span class=\"mf\">2</span><span class=\"p\">,</span>\n    <span class=\"s2\">&quot;fields&quot;</span><span class=\"o\">:</span> <span class=\"p\">{</span>\n      <span class=\"s2\">&quot;first_name&quot;</span><span class=\"o\">:</span> <span class=\"s2\">&quot;Paul&quot;</span><span class=\"p\">,</span>\n      <span class=\"s2\">&quot;last_name&quot;</span><span class=\"o\">:</span> <span class=\"s2\">&quot;McCartney&quot;</span>\n    <span class=\"p\">}</span>\n  <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=\"nt\">model</span><span class=\"p\">:</span> <span class=\"l l-Scalar l-Scalar-Plain\">myapp.person</span>\n  <span class=\"nt\">pk</span><span class=\"p\">:</span> <span class=\"l l-Scalar l-Scalar-Plain\">1</span>\n  <span class=\"nt\">fields</span><span class=\"p\">:</span>\n    <span class=\"nt\">first_name</span><span class=\"p\">:</span> <span class=\"l l-Scalar l-Scalar-Plain\">John</span>\n    <span class=\"nt\">last_name</span><span class=\"p\">:</span> <span class=\"l l-Scalar l-Scalar-Plain\">Lennon</span>\n<span class=\"p p-Indicator\">-</span> <span class=\"nt\">model</span><span class=\"p\">:</span> <span class=\"l l-Scalar l-Scalar-Plain\">myapp.person</span>\n  <span class=\"nt\">pk</span><span class=\"p\">:</span> <span class=\"l l-Scalar l-Scalar-Plain\">2</span>\n  <span class=\"nt\">fields</span><span class=\"p\">:</span>\n    <span class=\"nt\">first_name</span><span class=\"p\">:</span> <span class=\"l l-Scalar l-Scalar-Plain\">Paul</span>\n    <span class=\"nt\">last_name</span><span class=\"p\">:</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\">fixtures</code> didalam aplikasi anda.</p>\n<p>Anda dapat memuat data dengan memanggil <a class=\"reference internal\" href=\"/id/6.1/ref/django-admin/#django-admin-loaddata\"><code class=\"xref std std-djadmin docutils literal notranslate\">manage.py loaddata</code></a> <code class=\"docutils literal notranslate\">&lt;fixturename&gt;</code>, dimana <code class=\"docutils literal notranslate\">&lt;fixturename&gt;</code> adalah nama dari berkas fixture anda telah buat. Setiap waktu anda menjalankan <a class=\"reference internal\" href=\"/id/6.1/ref/django-admin/#django-admin-loaddata\"><code class=\"xref std std-djadmin docutils literal notranslate\">loaddata</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/6.1/ref/django-admin/#django-admin-loaddata\"><code class=\"xref std std-djadmin docutils literal notranslate\">loaddata</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\">fixtures</code> didalam setiap aplikasi, jadi perintah <code class=\"docutils literal notranslate\">loaddata sample</code> akan menemukan berkas <code class=\"docutils literal notranslate\">my_app/fixtures/sample.json</code>. Ini dapat bekerja dengan jalur relatif juga, jadi <code class=\"docutils literal notranslate\">loaddata my_app/sample</code> akan bemenukan berkas <code class=\"docutils literal notranslate\">my_app/fixtures/my_app/sample.json</code>.</p>\n<p>Django juga mencari untuk perlengkapan dalam daftar direktori disediakan dalam pengaturan <a class=\"reference internal\" href=\"/id/6.1/ref/settings/#std-setting-FIXTURE_DIRS\"><code class=\"xref std std-setting docutils literal notranslate\">FIXTURE_DIRS</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\">loaddata /path/to/sample</code>.</p>\n<aside class=\"admonition-namespace-your-fixture-files admonition\" role=\"note\">\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\">loaddata</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\" role=\"note\">\n<p class=\"admonition-title\">Lihat juga</p>\n<p>Perlengkapan tetap juga digunakan oleh <a class=\"reference internal\" href=\"/id/6.1/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/6.1/howto/"}],"prev":{"docname":"howto/index","title":"Panduan Cara-cara","url":"/id/6.1/howto/"},"next":{"docname":"howto/legacy-databases","title":"Bagaimana menggabungkan Django dengan basisdata warisan","url":"/id/6.1/howto/legacy-databases/"},"formats":{"html":"/id/6.1/howto/initial-data/","markdown":"/id/6.1/howto/initial-data.md","json":"/id/6.1/howto/initial-data.json"},"source":"https://github.com/django/django/blob/stable/6.1.x/docs/howto/initial-data.txt","official":"https://docs.djangoproject.com/id/6.1/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"]}