Day: February 6, 2023

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

blueidea