{"title":"How to integrate Django with a legacy database","version":"4.0","locale":"id","docname":"howto/legacy-databases","url":"/id/4.0/howto/legacy-databases/","canonical":"https://djangodocs.dev/id/4.0/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>How to integrate Django with a legacy database<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.0/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.0/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.0/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.0/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.0/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.0/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.0/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.0/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/4.0/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/4.0/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.0/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>If you do want to allow Django to manage the table's lifecycle, you'll need to\nchange the <a class=\"reference internal\" href=\"/id/4.0/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> option above to <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>\n(or remove it because <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> is its default value).</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/4.0/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":"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.0/howto/"}],"prev":{"docname":"howto/initial-data","title":"How to provide initial data for models","url":"/id/4.0/howto/initial-data/"},"next":{"docname":"howto/logging","title":"How to configure and use logging","url":"/id/4.0/howto/logging/"},"formats":{"html":"/id/4.0/howto/legacy-databases/","markdown":"/id/4.0/howto/legacy-databases.md","json":"/id/4.0/howto/legacy-databases.json"},"source":"https://github.com/django/django/blob/stable/4.0.x/docs/howto/legacy-databases.txt","official":"https://docs.djangoproject.com/id/4.0/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"]}