在django中查询获取数据,get, filter,all(),values()操作


Posted in Python onAugust 09, 2020

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,前端样式

在django中查询获取数据,get, filter,all(),values()操作

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()

以上这篇在django中查询获取数据,get, filter,all(),values()操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现Mysql数据库连接池实例详解
Apr 11 Python
python正则实现提取电话功能
Feb 24 Python
python学习基础之循环import及import过程
Apr 22 Python
Python实现按逗号分隔列表的方法
Oct 23 Python
理想高通滤波实现Python opencv示例
Jan 30 Python
Python3内置模块pprint让打印比print更美观详解
Jun 02 Python
python+selenium实现自动化百度搜索关键词
Jun 03 Python
pyqt5 使用label控件实时显示时间的实例
Jun 14 Python
基于K.image_data_format() == 'channels_first' 的理解
Jun 29 Python
python 实现一个简单的线性回归案例
Dec 17 Python
python爬虫破解字体加密案例详解
Mar 02 Python
Python文件的操作示例的详细讲解
Apr 08 Python
Python 使用双重循环打印图形菱形操作
Aug 09 #Python
Python 添加文件注释和函数注释操作
Aug 09 #Python
vscode配置anaconda3的方法步骤
Aug 08 #Python
Pycharm调试程序技巧小结
Aug 08 #Python
Python 在局部变量域中执行代码
Aug 07 #Python
Python如何创建装饰器时保留函数元信息
Aug 07 #Python
python的launcher用法知识点总结
Aug 07 #Python
You might like
php项目打包方法
2008/02/18 PHP
浅析memcache启动以及telnet命令详解
2013/06/28 PHP
PHP使用get_headers函数判断远程文件是否存在的方法
2014/11/28 PHP
Laravel SQL语句记录方式(推荐)
2016/05/26 PHP
ThinkPHP3.1.x修改成功与失败跳转页面的方法
2017/09/29 PHP
php 广告点击统计代码(php+mysql)
2018/02/21 PHP
PHP实现简单注册登录系统
2020/12/28 PHP
javascript中对对层的控制
2006/12/29 Javascript
JavaScript模板入门介绍
2012/09/26 Javascript
jquery实现textarea输入框限制字数的方法
2015/01/15 Javascript
javascript实现获取字符串hash值
2015/05/10 Javascript
js匿名函数作为函数参数详解
2016/06/01 Javascript
JS简单实现无缝滚动效果实例
2016/08/24 Javascript
AngularJS过滤器filter用法分析
2016/12/11 Javascript
jQuery日程管理控件glDatePicker用法详解
2017/03/29 jQuery
js中Array对象的常用遍历方法详解
2019/01/17 Javascript
Layer组件多个iframe弹出层打开与关闭及参数传递的方法
2019/09/25 Javascript
vue 在methods中调用mounted的实现操作
2020/08/07 Javascript
Vue表单提交点击事件只允许点击一次的实例
2020/10/23 Javascript
写一个Vue loading 插件
2020/11/09 Javascript
[04:44]显微镜下的DOTA2第二期——你所没有注意到的细节
2014/06/20 DOTA
利用Python的Twisted框架实现webshell密码扫描器的教程
2015/04/16 Python
Python中的迭代器与生成器高级用法解析
2016/06/28 Python
使用python为mysql实现restful接口
2018/01/05 Python
python 五子棋如何获得鼠标点击坐标
2019/11/04 Python
python 实现矩阵按对角线打印
2019/11/29 Python
python生成特定分布数的实例
2019/12/05 Python
基于K.image_data_format() == 'channels_first' 的理解
2020/06/29 Python
详解Django关于StreamingHttpResponse与FileResponse文件下载的最优方法
2021/01/07 Python
高清屏下canvas重置尺寸引发的问题的解决
2019/10/14 HTML / CSS
最耐用行李箱,一箱永流传:Briggs & Riley(全球终身保修)
2017/12/07 全球购物
廉洁教育学习材料
2014/05/19 职场文书
五四青年节演讲稿
2014/05/26 职场文书
初中教师个人总结
2015/02/10 职场文书
2016寒假社会实践心得体会范文
2015/10/09 职场文书
Pandas 数据编码的十种方法
2022/04/20 Python