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

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

## Model yang dibangun otomatis

Django datang dengan peralatan dipanggil [`inspectdb`](/id/1.9/ref/django-admin/#django-admin-inspectdb) yang dapat membuat model dengan menginterospeksi sebuah basisdata yang ada. Anda dapat melihat keluaran dengan menjalankan perintah ini:

```bash
$ python manage.py inspectdb
```

Simpan ini sebagai sebuah berkas dengan menggunakan pengalihan standar keluaran Unix:

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

Fitur ini berarti sebagai sebuah jalan pintas, bukan sebagai generasi model tetap. Lihat [`documentation of inspectdb`](/id/1.9/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/1.9/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:

```bash
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 ingin mengizinkan untuk mengelola daur hidup tabel, anda akan butuh merubah pilihan [`managed`](/id/1.9/ref/models/options/#django.db.models.Options.managed) diatas menjadi `True` (atau mudahnya pindahkan dia karena `True` adalan nilai awalnya).

## Pasang tabel inti Django

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

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