Python后台开发基础--模型类实现

1 ORM原理与数据库配置

1.1 模块安装

代码部分:

pip install pymysql pip install mysqlclient

1.2 模块安装常见问题

1.3 Pycharm连接 Mysql

  • 保证pycharm是专业版.
  • 创建mysql连接.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BbI0QPvH-1593436965305)(image/d2b1cae4a1a9ca6222adbb7f77f9584e.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ui8HTvCa-1593436965314)(image/dc6fc18d6e25984b2d954c9176210857.png)]

  • 测试连接,当出现successful时,说明连接信息无误,可以正常使用pycharm操作mysql数据库.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vRNx8XlG-1593436965321)(image/d6186ee8122460af4fe9a2943b2a3ec1.png)]

  • 连接数据库可能遇到的问题:
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框架原理

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Tc4HkNmx-1593436965331)(image/f6cf5b21ec7d41e15565dd4df017a57f.png)]

  • django中内嵌了ORM框架,不需要直接面向数据库编程,而是定义模型类,通过模型类和对象完成数据表的增删改查操作。
  • ORM在项目与数据库之间起桥梁作用,使用PyMySQL和mysqlclient连接Mysql数据库的接口。
  • 在ORM框架中,它帮我们把类和数据表进行了一个映射,可以让我们通过类和类对象就能操作它所对应的表格中的数据。例如:模型类BookInfo–映射到–> 数据表bookinfo。使数据库设计更加简单
  • ORM框架可以根据我们设计的类自动帮我们生成数据库中的表格,省去了我们自己建表的过程,也就是我们下边提到的数据库迁移操作.
  • 用面向对象的方式去操作数据库的创建表、增加、修改、删除、查询等操作。把面向对象中的类和数据库表一一对应,通过操作类和对象,对数据表实现数据操作,不需要写sql,由orm框架生成。
  • Django的orm操作本质上会根据对接的数据库引擎,翻译成对应的sql语句;所有使用Django开发的项目无需关心程序底层使用的是MySQL、Oracle、sqlite…,如果数据库迁移,只需要更换Django的数据库引擎即可

1.6 数据库信息配置

  1. 默认情况下,配置使用SQLite。若不使用SQLite作为数据库,则需要额外的设置
  2. 其中ENGINE设置为数据库后端使用。内置数据库后端有:
'django.db.backends.postgresql'

'django.db.backends.mysql'

'django.db.backends.sqlite3'

'django.db.backends.oracle'

注:在实际的开发项目中,多数情况下使用的是Mysql数据库引擎.

  1. Mysql数据库引擎的配置:

在主路由的settings.py文件中, 通过DATABASES项进行数据库设置

DATABASES = {
    'default': {
    'ENGINE': 'django.db.backends.mysql', 
                          'NAME': 'mydemo', 
                          'USER': 'root', 
                          'PASSWORD': '', 
                          'HOST': 'localhost', 
                          'PORT': '3306', } } 
  1. 数据库连接字段说明:
字段 说明
NAME 使用得数据库数据库名称
USER 数据库登录用的账户
PASSWORD 数据库登录用的密码
HOST 数据库服务器的位置,我们一般数据库服务器和客户端都是在一台主机上面,所以一般默认都填127.0.0.1或者localhost
PORT 数据库启动的端口号
字段 说明
NAME 使用得数据库数据库名称
USER 数据库登录用的账户
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值