zoukankan      html  css  js  c++  java
  • django select_related() 联表查询

    select_related()官方解释

    Returns a QuerySet that will automatically "follow" foreign-key relationships, selecting that additional related-object data when it executes its query. This is a performance booster which results in (sometimes much) larger queries but means later use of foreign-key relationships won't require database queries.

    The following examples illustrate the difference between plain lookups and select_related() lookups. Here's standard lookup:

    # Hits the database.
    e = Entry.objects.get(id=5)
    
    # Hits the database again to get the related Blog object.
    b = e.blog
    

    And here's select_related lookup:

    # Hits the database.
    e = Entry.objects.select_related().get(id=5)
    
    # Doesn't hit the database, because e.blog has been prepopulated
    # in the previous query.
    b = e.blog

    简而言之..
    他们由这种

    (0.000) SELECT `default_docs`.`id`, `default_docs`.`title`, `default_docs`.`document`, `default_docs`.`user_id` FROM `default_docs` INNER JOIN `default_user` ON (`default_docs`.`user_id` = `default_user`.`id`) WHERE `default_user`.`username` = 'wc' ; args=('wc',)
    (0.000) SELECT `default_user`.`id`, `default_user`.`username`, `default_user`.`password` FROM `default_user` WHERE `default_user`.`id` = 1 ; args=(1,)

    转成这种

    (0.000) SELECT `default_docs`.`id`, `default_docs`.`title`, `default_docs`.`document`, `default_docs`.`user_id`, `default_user`.`id`, `default_user`.`username`, `default_user`.`password` FROM `default_docs` INNER JOIN `default_user` ON (`default_docs`.`user_id` = `default_user`.`id`) WHERE `default_user`.`username` = 'wc' ; args=('wc',)

    也就是他一次联表查询(inner join)了,且设置了Field

  • 相关阅读:
    reorder-list
    HMM基础
    binary-tree-preorder-traversal
    binary-tree-postorder-traversal
    GMM基础
    (七)打印机驱动设置—认识打印机接口
    (八)打印机驱动设置—串口的设置
    (五)打印机驱动设置—没有开不了的钱箱
    (六)打印机驱动设置—装完驱动后没有打印机图标
    (四)揭开打印机驱动的神秘面纱
  • 原文地址:https://www.cnblogs.com/wc1217/p/2438980.html
Copyright © 2011-2022 走看看