1 ORM原理与数据库配置
1.1 模块安装
代码部分:
pip install pymysql pip install mysqlclient
1.2 模块安装常见问题
- time out 超时解决方案: pip install 包名 --user-i https://pypi.tuna.tsinghua.edu.cn/simple
- 缺少c ++ 插件解决方案:https://www.jb51.net/article/151033.htm
1.3 Pycharm连接 Mysql
- 保证pycharm是专业版.
- 创建mysql连接.
- 测试连接,当出现successful时,说明连接信息无误,可以正常使用pycharm操作mysql数据库.
- 连接数据库可能遇到的问题:
pymysql.err.OperationalError: (1045, "Access denied for user'root'\@'localhost' (using password: YES/NO)")
- 解决方案: 检查Pycharm使用的账号密码,与cmd下登录Mysql数据库的账号密码是否一致.
unrecognized or represents more than one time zone. You must configureeither the server or JDBC driver (via the serverTimezone configurationproperty) to use a more specifc time zone value if you want to utilize timezone support. 时区错误
- 解决方案:
- cmd下 执行mysql_upgrade -uroot -p --force
- 重启mysql服务
- 进入mysql(mysql -u root -p)
- set global time_zone = ‘+8:00’;
- flush privileges ;
- show variables like ‘’%time_zone%’’ ;
1.4 Pycharm—数据库创建
创建命令如下:
create database [数据库名] charset=’utf8’;
注:
- 使用pycharm创建数据库的时候一定要注意: 声明utf8字符集
- 选中需要执行的sql语句,使用 ctrl+enter执行该语句.
1.5 ORM框架原理
- django中内嵌了ORM框架,不需要直接面向数据库编程,而是定义模型类,通过模型类和对象完成数据表的增删改查操作。
- ORM在项目与数据库之间起桥梁作用,使用PyMySQL和mysqlclient连接Mysql数据库的接口。
- 在ORM框架中,它帮我们把类和数据表进行了一个映射,可以让我们通过类和类对象就能操作它所对应的表格中的数据。例如:模型类BookInfo–映射到–> 数据表bookinfo。使数据库设计更加简单
- ORM框架可以根据我们设计的类自动帮我们生成数据库中的表格,省去了我们自己建表的过程,也就是我们下边提到的数据库迁移操作.
- 用面向对象的方式去操作数据库的创建表、增加、修改、删除、查询等操作。把面向对象中的类和数据库表一一对应,通过操作类和对象,对数据表实现数据操作,不需要写sql,由orm框架生成。
- Django的orm操作本质上会根据对接的数据库引擎,翻译成对应的sql语句;所有使用Django开发的项目无需关心程序底层使用的是MySQL、Oracle、sqlite…,如果数据库迁移,只需要更换Django的数据库引擎即可
1.6 数据库信息配置
- 默认情况下,配置使用SQLite。若不使用SQLite作为数据库,则需要额外的设置
- 其中ENGINE设置为数据库后端使用。内置数据库后端有:
'django.db.backends.postgresql'
'django.db.backends.mysql'
'django.db.backends.sqlite3'
'django.db.backends.oracle'
注:在实际的开发项目中,多数情况下使用的是Mysql数据库引擎.
- Mysql数据库引擎的配置:
在主路由的settings.py文件中, 通过DATABASES项进行数据库设置
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'mydemo',
'USER': 'root',
'PASSWORD': '',
'HOST': 'localhost',
'PORT': '3306', } }
- 数据库连接字段说明:
字段 | 说明 |
---|---|
NAME | 使用得数据库数据库名称 |
USER | 数据库登录用的账户 |
PASSWORD | 数据库登录用的密码 |
HOST | 数据库服务器的位置,我们一般数据库服务器和客户端都是在一台主机上面,所以一般默认都填127.0.0.1或者localhost |
PORT | 数据库启动的端口号 |
字段 | 说明 |
NAME | 使用得数据库数据库名称 |
USER | 数据库登录用的账户 |
- start—数据库信息快捷键的配置
- 打开pycharm的设置文件
- 跳转到快捷键配置界面