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

相关文章
相关标签/搜索