ORM介绍
目前做开发的分工模式
1、DBA+应⽤层开发。
DBA管理数据库,编写sql语句,对于应⽤层开发来说,不⽤写sql语句,直接调⽤他写的接⼝就⾏。所以在这种公司⼀般来说,开发⼈员应该'供'着DBA,因为你想写⼊或者取出的数据需要依赖于DBA去执⾏,或者是你写的⽐较复杂的sql语句需要让DBA帮你看⼀下,效率⾏不⾏、是不是需要优化等等,这就需要看你们的交情或者其⼼情了。
2、应⽤层开发+sql语句编写。(以后的⼯作场景)
这种情况多存在于⼩公司,没有专⻔设置DBA岗位,要求开发⼈员什么都会⼀些,linux、数据库、前端等等,这样成本降低并且减少由于部⻔之间的沟通带来的损失,提⾼⼯作流程效率。
3、应⽤层开发+ORM。(⽬前主流的模式)
这种模式sql不⽤你写,你直接写类、对象,应为你对这些更加游刃有余。然后通过你写的类、对象,等等通过相应的转换关系直接转化成对应的原⽣sql语句,这种转化关系就是ORM:对象-关系-映射。你直接写⼀个类就是创建⼀张表,你实例化⼀个对象就是增加⼀条数据,这样以来,既可以避开写sql语句的麻烦,⽽且可以提升我们的开发效率。
什么是ORM?
MTV或者MVC框架中包括⼀个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极⼤的减轻了开发⼈员的⼯作量,不需要⾯对因数据库变更⽽导致的⽆效劳动。
ORM是“对象-关系-映射”的简称。(Object Relational Mapping,简称ORM)(将来会学⼀个sqlalchemy,是和他很像的,但是django的orm没有独⽴出来让别⼈去使⽤,虽然功能⽐sqlalchemy更强⼤,但是别⼈⽤不了)
orm是什么?
ORM:(Object Relational Mapping)对象关系映射系统,通过我们构建类、对象、字段、万能的点等给你提供的方法,代替了构写复杂的sql语句,提升我们的开发效率。
ORM的缺点:会降低项目运行效率,ORM可以构写大部分复杂的sql语句,但是不是所有。有一些特别特别复杂的sql语句,orm是无法实现的。
连接sqlite3数据库
1、创建一个新项目
2、找到models,构建一个类
class UserInfo(models.Model):
"""
这个类相当于:
create table userinfo(
id int primary key auto_increment,
name varchar(16),
age int,
current_date date,
)
"""
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=16)
age = models.ImageField()
current_date = models.DateField()
UserInfo 这个类就相当于mysql里面创建的一