zoukankan      html  css  js  c++  java
  • python

    #
    """
                        ----  正向查询按字段,反向查询按表名
    一: 一对多
        正向查询:(字段对象.关联表.查询字段)
            x_obj = models.Book.objects.filter(xxx).first()
            x_obj.publish.email
        反向查询:(字段对象.要查询的表名小写_set.all())
            x_obj = models.Publish.objects.filter(xxx).first()
            for i in x_obj.book_set.all():
                print(i)
    二: 多对多
        正向查询:(字段对象.关联表.all()) 查询所有
            x_obj = modles.Bookobjects.filter(xxx).first()
            for author in x_obj.authors.all():
                print(author.name, author.age)
                
        反向查询:(字段对象.关联表_set.all())
            x_obj = modles.Author.objects.filter(xxx).first()
            for book in x_obj_set.all():
                print(book.title)
    
    三:一对一
        正向查询:(字段对象.关联表名.关联表名字段)
            x_obj = modles.Author.objects.filter(xxx).first()
            x_obj = authorDetail.telephone
            
        反向查询:()
            x_obj = modles.AuthorDetail.objects.filter(xxx).first()
            x_obj.author.name 
            
    四:聚合/分组
        
        聚合:
            from django.db.models import Sum,Count,Avg
            ret = models.Book.objects.all().aggregate(price=Sum('price'))
        
        分组:
            1. queryset对象.annotate()
            2. annotate进行分组统计,按前面select 的字段进行 group by
            3. annotate() 返回值依然是 queryset对象,增加了分组统计后的键值对
            
            
            modles.dep.objects.values("name").annotate(c=Count('emp__name')).values('name','c')
                # 查询 dep 表, 按name 分组 , 将 emp下的name字段计数,返回结果是 name字段 和 计数结果
                
            modles.book.objects.values('id').annotate(c=Content(    ))
    """#
    直接执行原生的SQL语句,类似pymysql的用法
    #     from django.db import connection
    #     cursor = connection.cursor()  # 获取光标,等待执行SQL语句
    #     cursor.execute("""SELECT * from person where id = %s""", [1])
    #     row = cursor.fetchone()
    #     print(row)
  • 相关阅读:
    be accustomed to doing|actual |acute|adapt |
    By virtue of|sustain|post |scrape off |stretch|access to|take into account of|exploit|hasten|blur |idle|bored her to|account for|accused of|cruelty
    Block to|wreck|Range|Reach|span|chase around|amuse|exploit |instructed
    blast -m1
    qdel
    uname|mv|tar -xzvf|
    Hypothesis Tests for One Population Mean When σ Is Unknown|other
    dll显示调用和隐式调用
    使用预编译头提高编译速度
    NMS过程图示
  • 原文地址:https://www.cnblogs.com/chaoqi/p/10560869.html
Copyright © 2011-2022 走看看