zoukankan      html  css  js  c++  java
  • Python3学习笔记之十九

    1.    什么是orm?

           object  relation mapping  对象关系映射

           一旦确定表关系为一对多:在多的表中添加关联字段。

           一对一:可以在任意一张表添加关联字段。

           多对多:创建第三张表,主键id,两个关联字段,关联另外两张表的主键。

           添加记录: 

    # 方式1:
    			#obj=Book.objects.create(title="python",publishDate="2012-12-12",price=100)
    			
    			   注意:Book.objects.create()的返回值是当前添加的记录对象
    			# 方式2:
    			book_obj=Book(title="python2",publishDate="2012-12-12",price=100)
    			book_obj.save()
    

      查询记录:

           

                            <1> all():                 查询所有结果(queryset)
    			<2> filter(**kwargs):      它包含了与所给筛选条件相匹配的对象(queryset)	 
    			<3> get(**kwargs):         返回与所给筛选条件相匹配的对象,返回结果有且只有一个,
    									   如果符合筛选条件的对象超过一个或者没有都会抛出错误。   (model对象)
    			<5> exclude(**kwargs):     它包含了与所给筛选条件不匹配的对象	 
    			
    			<4> values(*field):        返回一个ValueQuerySet——一个特殊的QuerySet,运行后得到的并不是一系列
    									   model的实例化对象,而是一个可迭代的字典序列
    			<9> values_list(*field):   它与values()非常相似,它返回的是一个元组序列,values返回的是一个字典序列
    			 
    			<6> order_by(*field):      对查询结果排序
    			
    			<7> reverse():             对查询结果反向排序
    			 
    			<8> distinct():            从返回结果中剔除重复纪录
    			 
    			<10> count():              返回数据库中匹配查询(QuerySet)的对象数量。
    			 
    			<11> first():              返回第一条记录
    			 
    			<12> last():               返回最后一条记录
    			 
    			<13> exists():             如果QuerySet包含数据,就返回True,否则返回False

                                            

                  双下划线的查询:

                  book_list=Book.objects.filter(price__gt=60)
                  book_list=Book.objects.filter(price__lt=60)
                  book_list=Book.objects.filter(title__contains="py")
                  book_list=Book.objects.filter(title__startswith="python")
                  book_list=Book.objects.filter(price__in=[60,70,100])
                  book_list=Book.objects.filter(price__range=[50,99])

      

    删除记录,更新记录

     删除:
    		    Book.objects.filter().delete() # 默认级联删除
    			
    		更新:
                Book.objects.filter().update(price=50,.....)
    

      

    2.      跨表操作:

            

  • 相关阅读:
    Flask基本介绍
    【Maven】使用Maven构建多模块项目
    spring data jpa 详解
    request.getParameterNames()和request.getParameterValues()
    JAVA字符串格式化-String.format()的使用
    Java中的String,StringBuilder,StringBuffer三者的区别
    Java总结篇系列:Java泛型
    <c:forEach>详解
    Spring MVC 相关资料整理
    关于${pageContext.request.contextPath}的理解 (转载)
  • 原文地址:https://www.cnblogs.com/yangjianbo/p/8401855.html
Copyright © 2011-2022 走看看