django,inspectdb,操做已經存在的表

1.Django附帶了一個名爲inspectdb程序,它能夠經過現有數據庫來建立模型,並將相關模型代碼另存到指定文件中。在新建的newmodels.py文件中挑選指定表格對應的模型代碼,並將其複製到相關的文件中。python

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。session

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等。若對此類表格沒有操做必要,能夠不用執行下列代碼,亦可進行數據庫操做。spa

1 python manage.py makemigrations 2 python manage.py migrate

 

參考:https://www.jianshu.com/p/9076b07b1a8bcode

相關文章
相關標籤/搜索