Django中mysql的正向建模与反向建模
正向建模
1.先创建Django的工程与项目
安装virtualenv
pip install virtualenv
创建虚拟环境
virtualenv --no-site-package env
进入与退出
进入 cd env/Scripts/activate/
退出 deactivate
- #### 创建Django项目
创建工程
django-admin startproject projectname
创建项目
django-admin startapp appname
启动项目
python manage.py runserver ip:端口
将setting中INSTALLED_APPS
中加入appname
,DATABASES中数据库的连接,例如mysql
的连接
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'day6',
'USER':'root',
'PASSWORD':'6666',
'HOST':'39.108.81.211',
'PORT':'3306'
}
}
这里你需要将项目中models.py
文件加入你想要填写的表与字段。
例如:
class Student(models.Model):
s_name = models.CharField(max_length=10)
s_tel = models.CharField(max_length=11)
class Meta:
db_table='student'
将这些都完成后进行正向建模,迁移数据库
python manage.py makemigrations
python manage.py makemigrations
反向建模
当你用爬虫爬取数据存入mysql后,也就代表数据库中含有表,而这时我们可以根据这些表来进行建模,即自动生成models.py文件
这里在你的工程与项目建立好之后,数据库有数据的情况下,进行反向建模,
需要进入你项目的虚拟环境,打开管理员模式,进入你前面创建的虚拟环境
cd env/Scripts/activate/
在虚拟环境下打开项目
后执行
python manage.py inspectdb
执行完这个你就可以具体看见由数据库表生成的模型文件,后你可以将这个文件放入你项目的models.py
文件中,执行
python manage.py inspectdb>day51/stu/models.py
day51
为工程名称,stu
为项目名称,models.py
为文件名
这里你就可以查看你的项目文件中多了models.py
文件