{"title":"Bagaimana menggabungkan Django dengan basisdata warisan","version":"4.2","locale":"id","docname":"howto/legacy-databases","url":"/id/4.2/howto/legacy-databases/","canonical":"https://djangodocs.dev/id/4.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>Bagaimana menggabungkan Django dengan basisdata warisan<a class=\"heading-anchor\" href=\"#how-to-integrate-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/4.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/4.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/4.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/4.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/4.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/4.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/4.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/4.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 comes with a utility called <a class=\"reference internal\" href=\"/id/4.2/ref/django-admin/#django-admin-inspectdb\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">inspectdb</span></code></a> that can create models\nby introspecting an existing database. You can view the output by running this\ncommand:</p>\n<div class=\"code-block\" data-language=\"shell\"><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>Save this as a file by using standard Unix output redirection:</p>\n<div class=\"code-block\" data-language=\"shell\"><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/4.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/4.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=\"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=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Person</span><span class=\"p\">(</span><span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">Model</span><span class=\"p\">):</span>\n    <span class=\"nb\">id</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">IntegerField</span><span class=\"p\">(</span><span class=\"n\">primary_key</span><span class=\"o\">=</span><span class=\"kc\">True</span><span class=\"p\">)</span>\n    <span class=\"n\">first_name</span> <span class=\"o\">=</span> <span class=\"n\">models</span><span class=\"o\">.</span><span class=\"n\">CharField</span><span class=\"p\">(</span><span class=\"n\">max_length</span><span class=\"o\">=</span><span class=\"mi\">70</span><span class=\"p\">)</span>\n\n    <span class=\"k\">class</span><span class=\"w\"> </span><span class=\"nc\">Meta</span><span class=\"p\">:</span>\n        <span class=\"n\">managed</span> <span class=\"o\">=</span> <span class=\"kc\">False</span>\n        <span class=\"n\">db_table</span> <span class=\"o\">=</span> <span class=\"s2\">&quot;CENSUS_PERSONS&quot;</span>\n</code></pre></div>\n<p>Jika anda tidak ingin mengizinkan Django mengelola siklus hidup tabel, anda butuh merubah pilihan <a class=\"reference internal\" href=\"/id/4.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 memindahkannya karena <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> adalah nilai awal).</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>Next, run the <a class=\"reference internal\" href=\"/id/4.2/ref/django-admin/#django-admin-migrate\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">migrate</span></code></a> command to install any extra needed database\nrecords such as admin permissions and content types:</p>\n<div class=\"code-block\" data-language=\"shell\"><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":"how-to-integrate-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/4.2/howto/"}],"prev":{"docname":"howto/initial-data","title":"Bagaimana menyediakan data awal untuk model","url":"/id/4.2/howto/initial-data/"},"next":{"docname":"howto/logging","title":"Bagaimana mengkonfigurasi dan menggunakan pencatatan","url":"/id/4.2/howto/logging/"},"formats":{"html":"/id/4.2/howto/legacy-databases/","markdown":"/id/4.2/howto/legacy-databases.md","json":"/id/4.2/howto/legacy-databases.json"},"source":"https://github.com/django/django/blob/stable/4.2.x/docs/howto/legacy-databases.txt","official":"https://docs.djangoproject.com/id/4.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","it","pt-br","ko","es","el","pl"]}