首页 > 其他分享 >Django中values()和values_list()

Django中values()和values_list()

时间:2024-03-30 12:12:04浏览次数:24  
标签:Beatles list Django objects values 参数 id

values()

1、不带参数,返回所有属性的键值对,比如使用filter时,会返回一个列表,列表中每一项是一个字典

>>> Blog.objects.values()
[{'id': 1, 'name': 'Beatles Blog', 'tagline': 'All the latest Beatles news.'}],

>>> Blog.objects.filter(name__startswith='Beatles').values()
[{'id': 1, 'name': 'Beatles Blog', 'tagline': 'All the latest Beatles news.'}]

2、带参数,返回指定的键值对

>>> Entry.objects.values('blog')
[{'blog': 1}, ...]

注意:

当values() 与distinct() 一起使用时,注意排序可能影响最终的结果

如果values() 子句位于extra() 调用之后,extra() 中的select 参数定义的字段必须显式包含在values() 调用中。values() 调用后面的extra() 调用将忽略选择的额外的字段

在values() 之后调用only() 和defer() 不太合理,所以将引发一个NotImplementedError

外键:会返回对应的主键

多对多:会将数据集合成本放大,慎用

 

values_list()

1、不带参数,或者带多个参数,返回元组

>>> Entry.objects.values_list('id', 'headline')
[(1, 'First entry'), ...]

2、只带一个参数,并且使用了flat=True参数,返回列表

>>> Entry.objects.values_list('id', flat=True).order_by('id')
[1, 2, 3, ...]

 

最后:差异巨大,values_list速度更快。flat = true使得它更快,因为python不需要实例化列表中的所有对象,只返回数据库值。

 

标签:Beatles,list,Django,objects,values,参数,id
From: https://www.cnblogs.com/wendaobiancheng/p/18105318

相关文章

  • 【QT入门】 QListWidget各种常见用法详解之图标模式
    往期回顾【QT入门】Qt代码创建布局之多重布局变换与布局删除技巧-CSDN博客【QT入门】QTabWidget各种常见用法详解-CSDN博客【QT入门】QListWidget各种常见用法详解之列表模式-CSDN博客【QT入门】QListWidget各种常见用法详解之图标模式QListWidget有列表和图标两种......
  • java的ArrayList类
    ArrayList<E>E是自定义数据类型ArrayList类:构造函数: 成员方法: public boolean add(E e):将指定元素加到集合末尾Appendsthespecifiedelementtotheendofthislist.publicclassArray{publicstaticvoidmain(String[]args){ArrayLista......
  • 使用Django和FastCGI管理长时间运行的过程
    问题背景:有一个Django+FastCGI的应用程序,需要修改以执行长时间的计算(可能长达半小时或更久)。需要在后台运行计算,并返回“您的作业已启动”类型的响应。在进程运行期间,进一步访问该URL应返回“您的作业仍在运行”,直到作业完成,此时应返回作业结果。以后任何对该URL的访问都......
  • Django框架之小白必会三板斧
    一、引言Django项目如何添加新功能?在之前的文章中,我们学会了对web框架的封装优化处理,其中的urls.py和views.py尤为重要(1)添加URL映射在项目的urls.py文件中,通过导入相应的应用(app)及其视图函数,并使用path()或include()函数来定义URL映射规则。例如,如果要在名为"myapp......
  • Django框架之静态文件
    一、静态文件配置说明1、HTML文件我们将html文件默认都放在templates文件夹下,2、资源文件将网站所使用的静态文件默认都放在static文件夹下前端已经写好了的,能够直接调用使用的文件。比如:网站写好的js文件网站写好的css文件网站用到的图片文件第三......
  • Django框架之request对象
    一、request对象1、简介服务器接收到http协议的请求后,会根据报文创建HttpRequest对象,这个对象不需要我们创建,直接使用服务器构造好的对象就可以。视图的第一个参数必须是HttpRequest对象,在django.http模块中定义了HttpRequest对象的API。ps:get请求携带的数据是有大小限制的,大......
  • Django框架之Django的安装与使用
    首先我们需要先确定好自己电脑上的python解释器环境,否则会导致后面项目所需要的库安装不了以及项目无法运行的问题。一、Django框架下载要下载Django并开始使用它,你可以按照以下步骤进行:1、安装Python首先,确保你的计算机上已经安装了Python。你可以从Python官方网站下载最......
  • django小白必会
    Django基础1.Django小白必会三板斧1.1HttpResponse返回纯文本或者JSON数据fromdjango.shortcutsimportrender,HttpResponsedefindex(request):print(request)#HttpResponse:返回纯文本或者JSON数据returnHttpResponse("ok")1.2render渲染前端......
  • Ajax和django自带序列化组件
    Ajax和django自带序列化组件1.Ajax1.1Ajax介绍AJAX(AsynchronousJavascriptAndXML)翻译成中文就是“异步的Javascript和XML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML)。AJAX不是新的编程语言,而是一种使用现有标准的新方法......
  • 5.File的listFile方法
    listFiles方法注意事项:当调用者不存在时,返回null当调用者是一个文件时,返回null当调用者是一个空文件夹时,返回一个长度为0的数组当调用者是一个有内容的文件夹时,将里面所有文件和文件夹的路径放在File数组中返回当调用者是一个有隐藏文件的文件夹时,将里面所有文件和文件夹的......