【工程实践】Django系列-生成数据表(6)

1.生成迁移文件 

        在当前目录下键入命令行,生成迁移文件。

python manage.py  makemigrations 

1.1 迁移文件生成前

【工程实践】Django系列-生成数据表(6)_第1张图片

1.2 生成迁移文件

【工程实践】Django系列-生成数据表(6)_第2张图片

1.3 文件内容

【工程实践】Django系列-生成数据表(6)_第3张图片

2.执行迁移

2.1键入命令行

#与执行sql语句创建数据表一致 
python  manage.py migrate

2.2 执行过程

【工程实践】Django系列-生成数据表(6)_第4张图片

3.测试数据库

3.1 进入python shell

python manage.py shell

 3.2 引入一些包

In [1]: from myApp.models import Grades,Student                                                                                                                  
In [2]: from django.utils import timezone                                                                                                                        
In [3]: from datetime import * 

3.3 查询数据

In [4]: Grades.objects.all()                                                                                                                                     
Out[4]: 

3.4 添加数据

        本质:创建一个模型类的实例对象

In [5]: grade1 = Grades()                                                                                                                                        
In [6]: grade1.gname = "python01"                                                                                                                                                                                                                              
In [7]: grade1.get_data=datetime(year = 2017,month=7,day=17)                                                                                                     
In [8]: grade1.ggirlnum = 3                                                                                                                                      
In [9]: grade1.gboynum=70                                                                                                                                       
In [10]: grade1.save()    

#查询
In [12]: Grades.objects.all()                                                                                                                                    
Out[12]: ]>                                                                                                                                       

3.5 查询某条数据

        方法:类名.objects.get(pk = 1),附带约束条件

In [14]: Grades.objects.get(pk=1)                                                                                                                                
Out[14]: 

3.6 修改数据

      方法:模型对象.属性= 新值

#修改值
In [15]: grade1.gboynum=88                                                                                                                                       
#重新存储
In [16]: grade1.save() 

3.7 删除数据

       方法:模型对象.delete()

In[17]:grade1.delete()

物理删除,数据库中的表里的数据被彻底删除。

3.8 关联对象

In [17]: stu = Student()                                                                                                                                         
In [18]: stu.sname = "张三"                                                                                                                                      
In [19]: stu.sgender = "False"                                                                                                                                   
In [20]: stu.sage = 20                                                                                                                                           
In [21]: stu.scontend = "我的名字叫张三"                                                                                                                         
In [22]: stu.sgrade = grade1                                                                                                                                     
In [23]: stu.save()                                                                                                                                                 

        获得关联对象的集合:对象名.关联的类名小写_set.all()

#获取到班级为"python01"班级的所有学生
In [29]: grade1.student_set.all()                                                                                                                                
Out[29]: ]>

3.9 直接创建学生对象,并且属于grade1班

In [31]: stu1 = grade1.student_set.create(sname=u"李四",sgender="True",sage=45,scontend=u"我叫李四")                                                             

In [32]: Student.objects.all()                                                                                                                                   
Out[32]: , ]>

   

你可能感兴趣的:(Django,django,python,后端)