在django中查询获取数据,get, filter,all(),values()操作
作者:百奎先生 发布时间:2023-09-04 16:10:27
标签:django,get,filter,all,values
django 中当我们要查询获取数据时:
数据库中的信息:
如一个学生信息表 students:
get方法:
students.objects().get(a = b)
其中a为students表中的一个属性如id,name 等
如:students.objects().get(name = ‘张三') 即获取name为张三的学生的信息
filter 用法与get相同
但是get必须只能取一个数据
filter 能去0,1,多个数据
即上述中如果表中有多个学生都叫张三同名了,get就会报错
同样表中没有叫张三的学生也会报错
filter则不报错,所以在要精准查询时用get
students.objects().all() 是获取表中所有的数据
values(a)属性可以加在上述三个的末尾,表示只获取a属性:
students.objects().all().values('name')即获取到所有的表中的姓名,返回一个字典组成的列表[{‘name':‘张三'},{‘name':‘李四'},。。。]
students.objects().filter(name = ‘张三').values('id'), 只返回名为张三的学生的id,不返回其他属性了。
补充知识:django filter过滤器实现显示某个类型指定字段不同值
1,前端样式
2,html代码
{% load asset_filter %}
<div class="col-sm-2">
<select class="input-sm form-control select2 inline" name="ServiceModel">
<option value="">模块</option>
{% for i in 'Ecs'|ecs_model_field_distinct:'ServiceModel' %}
{% if i.0 %}
<option value="{{ i.0 }}">{{ i.0 }}</option>
{% endif %}
{% endfor %}
</select>
</div>
3,后端代码
asset_filter.py 内容如下:
@register.filter(name='ecs_model_field_distinct')
def ecs_model_field_distinct(model_name, field_name):
'''
获取model_name模块对象的某个属性field_name的distinct值,返回值的数组
:param model_name:
:param field_name:
:return:
'''
asset_app = apps.get_app_config('rule')
return asset_app.get_model(model_name).objects.all().values_list(field_name).distinct()
来源:https://blog.csdn.net/qq_38775473/article/details/84886690


猜你喜欢
- 用Python随机生成学生姓名,三科成绩和班级数据,再插入到PostgreSQL中。模块用psycopg2 randomimport ran
- 测试环境Python 3.6.2代码实现非多线程场景下使用新建并保存EXCELimport win32com.clientfrom win3
- 这篇文章主要介绍了基于python实现文件加密功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可
- 使用现有的txt文本和图片,就可以用wordcloud包生成词云图。大致步骤是:1、读取txt文本并简单处理;2、读取图片,以用作背景;3、
- 本文实例讲述了js树插件zTree获取所有选中节点数据的方法。分享给大家供大家参考。具体分析如下:由于刚接触Tree方面的东西。在网上看到了
- 本篇博文主要介绍在Python3中如何构造含参构造函数样例如下:class MyOdlHttp: username = '
- <div id="msg"></div> <input type="text&q
- 如下所示,代码为:array也可直接使用上面代码。测试如下:来源:https://blog.csdn.net/u011624019/arti
- 本文实例讲述了Python使用add_subplot与subplot画子图操作。分享给大家供大家参考,具体如下:子图:就是在一张figure
- 和其他语言一样,JavaScript也有条件语句对流程上进行判断。包括各种操作符合逻辑语句比较操作符常用的比较操作符有  
- 概述备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的
- 在使用tp5时候把它部署到服务器上发现一个奇葩的事情,就是它默认访问config配置的默认页,无论怎么跳转到其他接口都不好使,最终重写了&n
- PHP的isset()函数 一般用来检测变量是否设置 格式:bool isset ( mixed var [, mixed var [, .
- 一 前期说明:我运行项目的环境是nginx+php,存储代码用的是gitlab,python版本:3.6 django版本:2.2.1 my
- 本文实例讲述了Python实现按中文排序的方法。分享给大家供大家参考,具体如下:安装中文库sudo apt-get updatesudo a
- 问题介绍在安装torch之后,命令行(Anaconda Powershell Prompt)运行这三行代码:python # pythoni
- mysql在查询上千万级数据的时候,通过索引可以解决大部分查询优化问题。但是在处理上亿数据的时候,索引就不那么友好了。数据表(日志)是这样的
- 本来非常喜欢偷懒最好就是不干活那种所以最近在研究把Jenkins模块集成起来做成傻瓜界面这样就给他们用本人Python搓望大神不要喷,多多指
- from urllib.request import urlopen  
- HTML5真的是很强大,前端时间看到一个canvas实现九宫格的密码解锁。今天抽出时间模仿了一个,特定分享一下!效果截图如下:效果看起来还不