{"title":"Memadukan Django dengan basisdata warisan","version":"2.2","locale":"id","docname":"howto/legacy-databases","url":"/id/2.2/howto/legacy-databases/","canonical":"https://djangodocs.dev/id/2.2/howto/legacy-databases/","summary":"Selagi Django adalah terbaik cocok untuk pengembangan aplikasi baru, dia sangat dimungkinkan untuk menggabungkan nya kedalam warisan basisdata. Django menyertakan…","html":"<h1>Memadukan Django dengan basisdata warisan<a class=\"heading-anchor\" href=\"#integrating-django-with-a-legacy-database\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Selagi Django adalah terbaik cocok untuk pengembangan aplikasi baru, dia sangat dimungkinkan untuk menggabungkan nya kedalam warisan basisdata. Django menyertakan sepasang peralatan untuk mengotomatisasi sebanyak mungkin proses ini.</p>\n<p>Dokumen ini menganggap anda mengetahui dasar-dasar Django, seperti yang tercakup dalam <a class=\"reference internal\" href=\"/id/2.2/intro/tutorial01/\"><span class=\"doc\">tutorial</span></a>.</p>\n<p>Sekali anda telah menyetel Django, anda akan mengikuti pengolahan umum untuk digabungkan dengan basisdata yang ada.</p>\n<section id=\"give-django-your-database-parameters\">\n<h2>Berikan Django parameter basisdata anda<a class=\"heading-anchor\" href=\"#give-django-your-database-parameters\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Anda akan butuh memberitahu Django apa parameter hubungan basisdata anda, dan apa nama dari basisdatanya. Lakukan itu dengan menyunting pengaturan <a class=\"reference internal\" href=\"/id/2.2/ref/settings/#std-setting-DATABASES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">DATABASES</span></code></a> dan tetapkan nilai-nilai pada kunci-kunci berikut untuk hubungan <code class=\"docutils literal notranslate\"><span class=\"pre\">'default'</span></code>:</p>\n<ul class=\"simple\">\n<li><p><a class=\"reference internal\" href=\"/id/2.2/ref/settings/#std-setting-NAME\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">NAME</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/id/2.2/ref/settings/#std-setting-DATABASE-ENGINE\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">ENGINE</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/id/2.2/ref/settings/#std-setting-USER\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">USER</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/id/2.2/ref/settings/#std-setting-PASSWORD\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">PASSWORD</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/id/2.2/ref/settings/#std-setting-HOST\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">HOST</span></code></a></p></li>\n<li><p><a class=\"reference internal\" href=\"/id/2.2/ref/settings/#std-setting-PORT\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">PORT</span></code></a></p></li>\n</ul>\n</section>\n<section id=\"auto-generate-the-models\">\n<h2>Model yang dibangun otomatis<a class=\"heading-anchor\" href=\"#auto-generate-the-models\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django datang dengan kegunaan dipanggil <a class=\"reference internal\" href=\"/id/2.2/ref/django-admin/#django-admin-inspectdb\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">inspectdb</span></code></a> yang dapat membuat model dengan menginterospeksi sebuah basisdata yang ada. Anda dapat melihat keluaran dengan menjalankan perintah ini:</p>\n<div class=\"code-block\" data-language=\"bash\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code>$<span class=\"w\"> </span>python<span class=\"w\"> </span>manage.py<span class=\"w\"> </span>inspectdb\n</code></pre></div>\n<p>Simpan ini sebagai sebuah berkas dengan menggunakan pengalihan standar keluaran Unix:</p>\n<div class=\"code-block\" data-language=\"bash\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code>$<span class=\"w\"> </span>python<span class=\"w\"> </span>manage.py<span class=\"w\"> </span>inspectdb<span class=\"w\"> </span>&gt;<span class=\"w\"> </span>models.py\n</code></pre></div>\n<p>Fitur ini berarti sebagai sebuah jalan pintas, bukan sebagai generasi model tetap. Lihat <a class=\"reference internal\" href=\"/id/2.2/ref/django-admin/#django-admin-inspectdb\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">documentation</span> <span class=\"pre\">of</span> <span class=\"pre\">inspectdb</span></code></a> untuk informasi lebih.</p>\n<p>Sekali anda telah membersihkan model anda, namai berkas <code class=\"docutils literal notranslate\"><span class=\"pre\">models.py</span></code> dan taruh dia di paket Python yang menampung aplikasi anda. Kemudian tambah aplikasi ke pengaturan <a class=\"reference internal\" href=\"/id/2.2/ref/settings/#std-setting-INSTALLED_APPS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">INSTALLED_APPS</span></code></a> anda.</p>\n<p>Secara awal, djadmin:inspectdb membuat model tidak terkelola. Yaitu, <code class=\"docutils literal notranslate\"><span class=\"pre\">managed</span> <span class=\"pre\">=</span> <span class=\"pre\">False</span></code> dalam kelas <code class=\"docutils literal notranslate\"><span class=\"pre\">Meta</span></code> model memberitahu Django tidak mengelola setiap pembuatan tabel, perubahan, dan penghapusan:</p>\n<div class=\"code-block\" data-language=\"bash\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code>class<span class=\"w\"> </span>Person<span class=\"o\">(</span>models.Model<span class=\"o\">)</span>:\n<span class=\"w\">    </span><span class=\"nv\">id</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span>models.IntegerField<span class=\"o\">(</span><span class=\"nv\">primary_key</span><span class=\"o\">=</span>True<span class=\"o\">)</span>\n<span class=\"w\">    </span><span class=\"nv\">first_name</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span>models.CharField<span class=\"o\">(</span><span class=\"nv\">max_length</span><span class=\"o\">=</span><span class=\"m\">70</span><span class=\"o\">)</span>\n<span class=\"w\">    </span>class<span class=\"w\"> </span>Meta:\n<span class=\"w\">       </span><span class=\"nv\">managed</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span>False\n<span class=\"w\">       </span><span class=\"nv\">db_table</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"s1\">&#39;CENSUS_PERSONS&#39;</span>\n</code></pre></div>\n<p>Jika anda ingin mengizinkan untuk mengelola daur hidup tabel, anda akan butuh merubah pilihan <a class=\"reference internal\" href=\"/id/2.2/ref/models/options/#django.db.models.Options.managed\" title=\"django.db.models.Options.managed\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">managed</span></code></a> diatas menjadi <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> (atau mudahnya pindahkan dia karena <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> adalan nilai awalnya).</p>\n</section>\n<section id=\"install-the-core-django-tables\">\n<h2>Pasang tabel inti Django<a class=\"heading-anchor\" href=\"#install-the-core-django-tables\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Selanjutnya, jalankan perintah <a class=\"reference internal\" href=\"/id/2.2/ref/django-admin/#django-admin-migrate\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">migrate</span></code></a> untuk memasang setiap tambahan yang diperlukan rekaman basisdata seperti perizinan admin dan jenis-jenis isi:</p>\n<div class=\"code-block\" data-language=\"bash\"><div class=\"code-block-toolbar\"><span class=\"code-block-language\">Shell</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=\"Shell code\"><code>$<span class=\"w\"> </span>python<span class=\"w\"> </span>manage.py<span class=\"w\"> </span>migrate\n</code></pre></div>\n</section>\n<section id=\"test-and-tweak\">\n<h2>Uji dan ubah<a class=\"heading-anchor\" href=\"#test-and-tweak\"><span class=\"visually-hidden\">Link to this heading</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Itu adalah langkah-langkah awal -- dari sini anda akan ingin menyesuaikan model DJango dibangkitkan sampai mereka bekerja dengan cara yang anda inginkan. Coba mengakses data melalui API basisdata Django, dan coba menyunting obyek melalui situs admin Django, dan menyunting berkas model.</p>\n</section>","rootId":"integrating-django-with-a-legacy-database","toc":[{"title":"Berikan Django parameter basisdata anda","anchor":"give-django-your-database-parameters","children":[]},{"title":"Model yang dibangun otomatis","anchor":"auto-generate-the-models","children":[]},{"title":"Pasang tabel inti Django","anchor":"install-the-core-django-tables","children":[]},{"title":"Uji dan ubah","anchor":"test-and-tweak","children":[]}],"breadcrumbs":[{"docname":"howto/index","title":"Panduan \"Bagaimana\"","url":"/id/2.2/howto/"}],"prev":{"docname":"howto/jython","title":"Django di Jython","url":"/id/2.2/howto/jython/"},"next":{"docname":"howto/outputting-csv","title":"Mengeluarkan CSV dengan Django","url":"/id/2.2/howto/outputting-csv/"},"formats":{"html":"/id/2.2/howto/legacy-databases/","markdown":"/id/2.2/howto/legacy-databases.md","json":"/id/2.2/howto/legacy-databases.json"},"source":"https://github.com/django/django/blob/stable/2.2.x/docs/howto/legacy-databases.txt","official":"https://docs.djangoproject.com/id/2.2/howto/legacy-databases/","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"]}