zoukankan      html  css  js  c++  java
  • 10.26orm 查询

    1 操作记录
    
      一对多:
            方式1:
               publish_obj=Publish.objects.get(nid=1)
               book_obj=Book.objects.create(title="金瓶眉",publishDate="2012-12-12",price=100,publish=publish_obj)
              
            方式2:
               book_obj=Book.objects.create(title="金瓶眉",publishDate="2012-12-12",price=100,publish_id=1) 
               
               book_obj.publish : 与这本书籍关联出版社对象
               
               
      多对多记录操作:
            核心:先第三张关系表添加记录
                  app01_book_author
                       
                       id    book_id    author_id
                        1       1            1
                        2       1            2
                        3       2            2
                        
                 author
                 
                 
                    id   name
                     1   alex
                     2   egon
            
            book_obj.authors.add(1,2) 
            book_obj.authors.remove(1) 
            book_obj.authors.clear() 
            book_obj.authors.set(3)
            
            book_obj.authors.all()  # 查询与这本书关联的所有queryset的集合
            
            
            
    2 基于对象的跨表查询(基于子查询)
    
        正向查询
        
        一对多: 
                          正向查询按字段:book.publish
                Book----------------------------------------->Publish
                     <---------------------------------------
                      反向查询表名小写_set.all():pub_obj.book_set.all()
    
    
     
        多对多:
                        正向查询按字段 book.authors.all()
                Book  -------------------------------------->Author
                     <--------------------------------------
                        反向查询按表名小写_set.all(): alex.book_set.all()
    
    
        一对一:
                         正常查询安字段:alex.ad
            Author -----------------------------------------> AuthorDetail
                   <------------------------------------------
                         反向查询按表名小写 ad.author
        
        总结:正向查询按字段,反向查询
                                    得到一个对象,按表名小写
                                    可能得到多个对象,按表名小写_set().all()
        
     
    
    
    
    
    基于双下划线的跨表查询(基于join实现的) 
    
    KEY:正向查询按字段,反向查询按表明小写
  • 相关阅读:
    iOS UITextField 设置内边距
    营造积极的OKR环境
    管理者的五项基本活动
    如何在团队中让OKR深入人心
    项目管理文化:营造积极氛围的里程碑
    OKR文化:用SMART原则量化目标
    成功落地OKR的要诀
    培养一支有 OKR 思想的管理团队
    如何成为一个成功的会议领导者
    项目管理文化:开展有效的总结会议
  • 原文地址:https://www.cnblogs.com/zzy7372/p/9856711.html
Copyright © 2011-2022 走看看