1.Django附帶了一個名為inspectdb程序,它可以通過現有數據庫來創建模型,並將相關模型代碼另存到指定文件中。在新建的newmodels.py文件中挑選指定表格對應的模型代碼,並將其復制到相關的文件中。
1 python manage.py inspectdb > newmodels.py
若要操作指定數據庫,使用如下代碼:
1 python manage.py inspectdb --database new_schema1 > models1.py
2.默認情況下,inspectdb創建非托管模型。 也就是說,在模型的Meta類中,managed = False告訴Django不要管理每個表的創建,修改和刪除。如果想讓Django管理表的生命周期,你需要將上面的托管選項更改為True,即將managed = False修改為managed = True。
1 class Person(models.Model): 2 id = models.IntegerField(primary_key=True) 3 first_name = models.CharField(max_length=70) 4 class Meta: 5 managed = False 6 db_table = 'CENSUS_PERSONS'
3.運行migrate命令以安裝任何額外需要的數據庫記錄,如session、auth等。若對此類表格沒有操作必要,可以不用執行下列代碼,亦可進行數據庫操作。
1 python manage.py makemigrations 2 python manage.py migrate