• MVC或者MVC框架中包括一个重要的部分,就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖于特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工作量,不需要面对因数据库变更而导致的无效劳动
  • ORM是“对象-关系-映射”的简称。

 如果进行数据库迁移,不同数据库的sql语句是有差别的,而ORM是上层封装,只需按照指定的数据库引擎就可以翻译为相对应的sql语句,便于数据库迁移。但是它的效率不高。

不需要调用sqmysql,django的上层封装;它只能做到表这一层

4.Django|ORM模型层

sql表----->python的 类

字段------>类的属性

表记录---->python类对象

4.Django|ORM模型层

 1 #sql中的表                                                      
 2 
 3  #创建表:
 4      CREATE TABLE employee(                                     
 5                 id INT PRIMARY KEY auto_increment ,                    
 6                 name VARCHAR (20),                                      
 7                 gender BIT default 1,                                  
 8                 birthday DATA ,                                         
 9                 department VARCHAR (20),                                
10                 salary DECIMAL (8,2) unsigned,                          
11               );
12 
13 
14   #sql中的表纪录                                                  
15 
16   #添加一条表纪录:                                                          
17       INSERT employee (name,gender,birthday,salary,department)            
18              VALUES   ("alex",1,"1985-12-12",8000,"保洁部");               
19 
20   #查询一条表纪录:                                                           
21       SELECT * FROM employee WHERE age=24;                               
22 
23   #更新一条表纪录:                                                           
24       UPDATE employee SET birthday="1989-10-24" WHERE id=1;              
25 
26   #删除一条表纪录:                                                          
27       DELETE FROM employee WHERE name="alex"                             
28 
29 
30 
31 
32 
33 #python的类
34 class Employee(models.Model):
35      id=models.AutoField(primary_key=True)
36      name=models.CharField(max_length=32)
37      gender=models.BooleanField()
38      birthday=models.DateField()
39      department=models.CharField(max_length=32)
40      salary=models.DecimalField(max_digits=8,decimal_places=2)
41 
42 
43  #python的类对象
44       #添加一条表纪录:
45           emp=Employee(name="alex",gender=True,birthday="1985-12-12",epartment="保洁部")
46           emp.save()
47       #查询一条表纪录:
48           Employee.objects.filter(age=24)
49       #更新一条表纪录:
50           Employee.objects.filter(id=1).update(birthday="1989-10-24")
51       #删除一条表纪录:
52           Employee.objects.filter(name="alex").delete()
View Code

相关文章: