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


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

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM