Django链接已有数据库+更改数据库字段后链接
# setting.py
# 连接远程数据库或局域网数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 要连接的 数据库类型
'HOST': '192.268.4.12', # 要连接的远程数据库的 ip地址
'PORT': '3306', # 数据库连接端口,mysql默认3306
'USER': 'root', # 数据库已有用户名
'PASSWORD': '123456', # 数据库已有用户密码
'NAME': 'Auser', # 要连接的 数据库名
}
}
在项目mangge.py目录下运行命令:
python manage.py inspectdb > models.py
然后,在同级目录下就会出现一个 models.py,里面包含了已有数据库的所有表及结构。
内容如下:
class User(models.Model):
name = models.CharField(max_length=255)
password = models.CharField(max_length=255, blank=True, null=True)
class Meta:
managed = False
db_table = 'user'
把想要使用的表的 managed 都改成 True。managed = True,并复制到子应用所在的models.py文件即可
运行命令:
python manage.py migrate
同步数据已完成
如过已链接过数据库更改了数据库字段,如何实现同步
先检查子应用下的migrations文件下是否有迁移文件文,***_initial.py文件都是迁移文件
删除已经存在的文件文件,迁移数据库即可
# 默认所有修改过的model层转为迁移文件
python manage.py makemigrations
# 默认将所有的迁移文件都执行,更新数据库
python manage.py migrate