场景:有个非本项目(python项目)的数据库,现需要直连这个数据库获取一些数据,后端是通过ORM的方式来开发的,并非直接写SQl语句(也不会符合本需求),用ORM就需要建对应表的models
python manage.py inspectdb > models.py
django提供了一个 inspectdb 命令,可以将DATABASES里配置的‘default’里的db_name1库中的所有表都逆向生成对应的models.py,真是一个强大的功能
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql', # 要连接的 数据库类型
'HOST': '192.168.1.1', # 要连接的远程数据库的 ip地址
'PORT': '3306', # 数据库连接端口,mysql默认3306
'USER': 'root', # 数据库已有用户名
'PASSWORD': 'root', # 数据库已有用户密码
'NAME': 'db_name1', # 要连接的 数据库名
},
'database2': {
'ENGINE': 'django.db.backends.mysql', # 要连接的 数据库类型
'HOST': '192.168.1.1', # 要连接的远程数据库的 ip地址
'PORT': '3306', # 数据库连接端口,mysql默认3306
'USER': 'root', # 数据库已有用户名
'PASSWORD': 'root', # 数据库已有用户密码
'NAME': 'db_name1', # 要连接的 数据库名
},
}
大家可以测试一下吧
如果你的项目里,有多个数据库的配置信息,可以使用如下的命令来生成其他库(database2)的表的model
python manage.py inspectdb --database database2
结果直接打印在窗口上