---
title: "Bagaimana menggabungkan Django dengan basisdata warisan"
version: 6.1
locale: id
source: https://docs.djangoproject.com/id/6.1/howto/legacy-databases/
canonical: https://djangodocs.dev/id/6.1/howto/legacy-databases/
---
# Bagaimana menggabungkan Django dengan basisdata warisan

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.

Dokumen ini menganggap anda mengetahui dasar-dasar Django, seperti yang tercakup dalam [tutorial](/id/6.1/intro/tutorial01/).

Sekali anda telah menyetel Django, anda akan mengikuti pengolahan umum untuk digabungkan dengan basisdata yang ada.

## Berikan Django parameter basisdata anda

Anda akan butuh memberitahu Django apa parameter hubungan basisdata anda, dan apa nama dari basisdatanya. Lakukan itu dengan menyunting pengaturan [`DATABASES`](/id/6.1/ref/settings/#std-setting-DATABASES) dan tetapkan nilai-nilai pada kunci-kunci berikut untuk hubungan `'default'`:

- [`NAME`](/id/6.1/ref/settings/#std-setting-NAME)
- [`ENGINE`](/id/6.1/ref/settings/#std-setting-DATABASE-ENGINE)
- [`USER`](/id/6.1/ref/settings/#std-setting-USER)
- [`PASSWORD`](/id/6.1/ref/settings/#std-setting-PASSWORD)
- [`HOST`](/id/6.1/ref/settings/#std-setting-HOST)
- [`PORT`](/id/6.1/ref/settings/#std-setting-PORT)

## Model yang dibangun otomatis

Django datang dengan perlengkapan disebut [`inspectdb`](/id/6.1/ref/django-admin/#django-admin-inspectdb) yang dapat membuat model dengan introspeksi basisdata yang ada. Anda dapat melihat keluaran dengan menjalankan perintah ini:

```shell
$ python manage.py inspectdb
```

Simpan ini sebagai berkas dengan menggunakan pengalihan keluaran Unix standar:

```shell
$ python manage.py inspectdb > models.py
```

Fitur ini berarti sebagai sebuah jalan pintas, bukan sebagai generasi model tetap. Lihat [`documentation of inspectdb`](/id/6.1/ref/django-admin/#django-admin-inspectdb) untuk informasi lebih.

Sekali anda telah membersihkan model anda, namai berkas `models.py` dan taruh dia di paket Python yang menampung aplikasi anda. Kemudian tambah aplikasi ke pengaturan [`INSTALLED_APPS`](/id/6.1/ref/settings/#std-setting-INSTALLED_APPS) anda.

Secara awal, djadmin:inspectdb membuat model tidak terkelola. Yaitu, `managed = False` dalam kelas `Meta` model memberitahu Django tidak mengelola setiap pembuatan tabel, perubahan, dan penghapusan:

```
class Person(models.Model):
    id = models.IntegerField(primary_key=True)
    first_name = models.CharField(max_length=70)

    class Meta:
        managed = False
        db_table = "CENSUS_PERSONS"
```

Jika anda tidak ingin mengizinkan Django mengelola siklus hidup tabel, anda butuh merubah pilihan [`managed`](/id/6.1/ref/models/options/#django.db.models.Options.managed) diatas menjadi `True` (atau memindahkannya karena `True` adalah nilai awal).

## Pasang tabel inti Django

Selanjutnya, jalankan perintah [`migrate`](/id/6.1/ref/django-admin/#django-admin-migrate) untuk memasang rekaman basisdata ekstra yang dibutuhkan seperti perizinan admin dan jenis isi:

```shell
$ python manage.py migrate
```

## Uji dan ubah

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.
