• orm查询


    基于对象的查询(子查询)

    1.一对一

    ​ 正向就是建立关系的那个字段在次表中,向没有建立关系的那个字段的表查询

    ​ 反向则反之

    ​ 正向:正向查询按字段

    author=Author.objects.filter(name='lqz').first().authordetail.phone
    

    ​ 反向:反向查询按表名小写

    authordetail=AuthorDetail.objects.filter(addr='山东').first().author.name
    

    2.一对多

    ​ 正向:正向查询按字段

    book=Book.objects.filter(name='红楼梦').first().pulish.email
    

    ​ 反向:反向按表名小写加_set

    Publish.objects.filter(addr='北京').first().book_set.all()
    

    3.多对多

    ​ 正向:正向查询按字段

    #查询红楼梦这本书所有的作者
    book=Book.objects.filter(name='红楼梦').first().authors.all()
    

    ​ 反向:反向按表名小写加_set

    # 查询lqz写的所有书
    lqz=Author.objects.filter(name='lqz').first().book_set.all()
    

    多表联查(基于双下划线的查询)

    1.一对一

    ​ 正向:正向查询按字段

    ret=Author.objects.filter(name='lqz').values('authordetail__phone')
    

    ​ 反向:按表名小写

    ret=AuthorDetail.objects.filter(author__name='lqz').values('phone')
    
  • 相关阅读:
    ajax的一些知识
    前端性能优化汇总
    jquery实现一些小动画二
    python简单日志处理
    逆波兰式---C实现
    java常见异常
    Hive与HBase集成及常见问题解决
    SQL for HBase
    Demystifying the Skip Scan in Phoenix
    Difference between DDL, DML and DCL commands
  • 原文地址:https://www.cnblogs.com/jianhaozhou/p/9956187.html
Copyright © 2020-2023  润新知