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

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

  1. Django中配置好数据库,确保连接得上这个已经存在的数据库
  2. 在cmd中运行命令,模型会生成在同一个文件中
python manage.py inspectdb > models.py
  1. 修改模型
  • 3.1 修改模型名,根据需求修改模型的名称
  • 3.2 将不同的表放进其所属的app中
  • 3.3 处理好表之间的外键关系(主要针对跨app的表,如果外键在同一个模型文件中,则可以跳过该步骤),在外键前加上app_name
  • 3.4 让Django能够管理该模型并进行迁移:将Meta下的managed = False删除
  • 3.5 当有多对多关系的表时,删除模型中的中间表,使用ManyToManyField来实现多对多,注意要设置中间表的名称让其与数据库中的中间表名一致
  • 3.6 切记不要修改模型中的表名称,与数据库不一致的话会导致找不到表的错误
  1. 运行 python manage.py makemigrations
  2. 运行 python manage.py migrate --fake-initial

其中,在修改模型的时候,重点是需要分析好表与表之间的关系,只要能够弄清楚表与表之间的关系,那么修改模型会轻松很多

你可能感兴趣的:(Django,django)