Django中的ORM框架使用小技巧

                  Django中的ORM框架使用小技巧

                                       作者:尹正杰 

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

   Django对各个数据提供了很好的支持,包括PostgreSQL,MySQL,SQLite和Oracle,而且为这些数据库提供了统一的调用API,这些API统称为ORM框架。通过使用Django内置的ORM框架可以实现数据库和读写操作。

 

一.ORM介绍

1>.什么是ORM

  ORM框架是一种程序技术,用户实现面向对象编程语言中不同类型系统的数据之间的转换。从效果上说,其实是创建了一个可在编程语言中使用的“虚拟对象数据库”,通过对虚拟对象数据库操作从而实现对目标数据库的操作,虚拟对象数据库与目标数据库是相互对应的。在Django中,虚拟对象数据库也称为模型,通过模型是爱你对目标数据库的读写操作。

2>.ORM能做的啥事情

  第一:操作数据表(包括创建表,删除表和修改表);

  第二:操作数据行(对数据的增删改查);

  注意,ORM不能创建数据库,需要我们手动创建对应的 数据库,建议将数据库的字符编码设置为utf8.

3>.使用Django的ORM详细步骤

  第一:自己手动创建数据库;

  第二:在Django项目中配置链接数据库的相关配置(在Django项目中的setting.py中设置);

  第三:Django用什么链接数据库,Django默认是使用MySQLDB。(Django2.0以下版本是不支持python3的,他们在兼容性上还有写问题,但是并不是说python3不能使用Django的ORM,我们需要稍微做一下调整即可,如果使用python3.6以上版本的话,我们可以使用pymysql模块来替代默认的MySQLDB链接驱动。);

  第四:在我们项目中的应用模块中找到对应的models.py文件,在这里面创建一个类,这个类必须得继承“model.Model”;

  第五:创建好类后,我们需要在项目目录下手动执行“python manage.py makemigrations”(将你每次在model.py修改的操作在“migrations”目录中记录下来并生成对应的文件,比如“0001_initial.py”)和“python manage.py migrate”(翻译你在model.py中的定义的SQL语句并执行!)

  接下来我们会详细剖析一下ORM的使用,此处我们使用ORM是针对Django 1.11.11这个版本,后期我会更新一片关于Django.2.1.4这个版本的使用,其实2在用法中差异不大。如果时间允许的话,我会一一给大家分享出来的。

  

二.Django使用ORM创建数据表

1>.配置Django链接的数据库为Mysql

2>.编辑项目路径下的“__init__.py”,添加如下图所示的内容

 

3>.编写models.py 配置文件

 

4>.执行建表语句

5>.查看“yinzhengjie”数据库中的表信息

6>.查看ORM建表语句后的数据信息

 

 

三.Django ORG操作数据表-删除表

1>.在model.py中定义的类注视掉即可!如下图所示:

2>.在项目中执行“python manage.py makemigrations”(通知项目你已经修改了model.py文件)

3>.执行python manage.py migrate”(将python代码翻译成SQL语句执行!)

 

四.Pycharm 链接MySQL工具的使用

1>.点击“Database”

2>.选择需要链接的数据库

 

3>.下载驱动,如下图所示,点击蓝色的“Download”按钮

 

4>.链接数据库测试

 

5>.查看某个表中的数据(我自己把之前删除的那个表给还原了)

 

6>.往某张表中添加数据

7>.再次查看表中的信息

 

转载于:https://www.cnblogs.com/yinzhengjie/p/10134448.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值