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

1.生成迁移文件 

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

python manage.py  makemigrations 

1.1 迁移文件生成前

1.2 生成迁移文件

1.3 文件内容

2.执行迁移

2.1键入命令行

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

2.2 执行过程

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]: <QuerySet []>

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]: <QuerySet [<Grades: Grades object (1)>]>                                                                                                                                       

3.5 查询某条数据

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

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

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]: <QuerySet [<Student: Student object (1)>]>

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]: <QuerySet [<Student: Student object (1)>, <Student: Student object (2)>]>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值