---
title: "Bagaimana menggabungkan Django dengan basisdata warisan"
version: 5.0
locale: id
source: https://docs.djangoproject.com/id/5.0/howto/legacy-databases/
canonical: https://djangodocs.dev/id/5.0/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/5.0/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/5.0/ref/settings/#std-setting-DATABASES) dan tetapkan nilai-nilai pada kunci-kunci berikut untuk hubungan `'default'`:

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

## Model yang dibangun otomatis

Django comes with a utility called [`inspectdb`](/id/5.0/ref/django-admin/#django-admin-inspectdb) that can create models
by introspecting an existing database. You can view the output by running this
command:

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

Save this as a file by using standard Unix output redirection:

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

Fitur ini berarti sebagai sebuah jalan pintas, bukan sebagai generasi model tetap. Lihat [`documentation of inspectdb`](/id/5.0/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/5.0/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/5.0/ref/models/options/#django.db.models.Options.managed) diatas menjadi `True` (atau memindahkannya karena `True` adalah nilai awal).

## Pasang tabel inti Django

Next, run the [`migrate`](/id/5.0/ref/django-admin/#django-admin-migrate) command to install any extra needed database
records such as admin permissions and content types:

```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.
