今天遇到这么一个情况,我用爬虫爬下来的数据存入mysql中,要用到Django做一个web。那么我应该怎么操作数据库呢?那么在models中应该怎么写呢?
Django是最适合所谓的green-field开发,即从头开始一个新的项目。
首先在settings文件中修改数据库配置,以mysql为例:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'zbj',# 数据库名
'USER': 'root',
'PASSWORD': '123456',
'HOST': '10.8.157.39',# 主机
'PORT': '3306',
}
}
由于Django内部链接MySQL数据库的时候默认的是使用是MySQLdb,但是在python3中没有这个模块,所以我们需要在项目目录下的__init__.py
文件中添加:
import pymysql
pymysql.install_as_MySQLdb()
数据库设置好之后,在终端输入:
python manage.py inspectdb > models.py
这条命令是根据你配置的数据库,自动生成models文件,然后把内容存放到models.py中
将models.py覆盖app目录下的models.py
默认生成的models类中,默认是无法对数据库操作的,将managed
改为False
:
class Meta:
managed = False # 改为False
db_table = 'works'
最后直接迁移即可对数据库进行操作
python manage.py migrate