zoukankan      html  css  js  c++  java
  • Django中Queryset总结

     

    1.查看 Django queryset 执行的 SQL

    Projects.objects.all().query

    2.values_list 获取元组形式结果

    Projects.objects.values_list('name', 'status')

    如果只需一个字段,可以用flat=True
    Projects.objects.values_list('name', flat=True)

    3. values 获取字典形式的结果

    Projects.objects.values_list('name', 'status')


    注意:
    
    1. values_list 和 values 返回的并不是真正的 列表 或 字典,也是 queryset,他们也是 lazy evaluation 的(惰性评估,通俗地说,就是用的时候才真正的去数据库查)
    
    2. 如果查询后没有使用,在数据库更新后再使用,你发现得到在是新内容!!!如果想要旧内容保持着,数据库更新后不要变,可以 list 一下
    
    3. 如果只是遍历这些结果,没有必要 list 它们转成列表(浪费内存,数据量大的时候要更谨慎!!!)


    4. extra 实现 别名,条件,排序等

    extra 中可实现别名,条件,排序等,后面两个用 filter, exclude 一般都能实现,排序用 order_by 也能实现。我们主要看一下别名这个
    
    Projects.objects.all().extra(select={'project_name': 'name'})

    ——————————————
    参考文档:
    https://hupingzhi.cn/post/24/
  • 相关阅读:
    c++ cout、cin、endl
    c++ namespace
    找到小镇的法官
    整数反转
    c++stack类的用法
    栈应用:最小栈(第二题)
    栈的压入、弹出序列(第一题)
    c++中vector类的用法
    Android 面试常问七道题
    传感器实现仿微信摇一摇功能
  • 原文地址:https://www.cnblogs.com/hupingzhi/p/12152625.html
Copyright © 2011-2022 走看看