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.
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
dan tetapkan nilai-nilai pada kunci-kunci berikut untuk hubungan 'default'
:
Model yang dibangun otomatis¶
Django comes with a utility called inspectdb
that can create models
by introspecting an existing database. You can view the output by running this
command:
$ python manage.py inspectdb
Save this as a file by using standard Unix output redirection:
$ python manage.py inspectdb > models.py
Fitur ini berarti sebagai sebuah jalan pintas, bukan sebagai generasi model tetap. Lihat documentation of 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
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
diatas menjadi True
(atau memindahkannya karena True
adalah nilai awal).
Pasang tabel inti Django¶
Next, run the migrate
command to install any extra needed database
records such as admin permissions and content types:
$ 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.