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:正向查询按字段,反向查询按表明小写
  • 相关阅读:
    kill process
    USB development guide
    MMC device
    memtester
    printf()格式化输出详解
    C语言动态内存分配
    归并排序C语言
    c 文件操作
    数据包分析
    C语言文件操作函数大全
  • 原文地址:https://www.cnblogs.com/zzy7372/p/9856711.html
Copyright © 2011-2022 走看看