• 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)
  • 相关阅读:
    闲话: 恭喜园子里的MVP一下, 同时问所有奋斗在技术领域的兄弟过节好~
    随便说两句: 表设计兼一些设计分析的讨论
    是他妈傻子写的么?
    Utility Wish List
    我终于有个偶像了
    也论标准: 统一是啥好事情?
    linux 编程学习笔记(1)搭建c(c++)开发环境
    Immutable Collections(2)ImmutableList<T>实现原理.(上)
    托管代码的进程注入&CLR宿主
    .NET安全揭秘系列博文索引
  • 原文地址:https://www.cnblogs.com/chaoqi/p/10560869.html
Copyright © 2020-2023  润新知