Django根据已有的数据库来生成模型

日常开发中,我们有时会碰到数据库已经存在,而需要我们去生成模型的情况。这种情况下,我们需要:

Django中配置好数据库,确保连接得上这个已经存在的数据库
在cmd中运行命令,模型会生成在同一个文件中

 python manage.py inspectdb > models.py


修改模型
3.1 修改模型名,根据需求修改模型的名称
3.2 将不同的表放进其所属的app中
3.3 处理好表之间的外键关系(主要针对跨app的表,如果外键在同一个模型文件中,则可以跳过该步骤),在外键前加上app_name
3.4 让Django能够管理该模型并进行迁移:将Meta下的managed = False删除
3.5 当有多对多关系的表时,删除模型中的中间表,使用ManyToManyField来实现多对多,注意要设置中间表的名称让其与数据库中的中间表名一致
3.6 切记不要修改模型中的表名称,与数据库不一致的话会导致找不到表的错误
运行 python manage.py makemigrations
运行 python manage.py migrate –fake-initial
其中,在修改模型的时候,重点是需要分析好表与表之间的关系,只要能够弄清楚表与表之间的关系,那么修改模型会轻松很多

发表评论

电子邮件地址不会被公开。 必填项已用*标注