在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中的round()方法
May 15 Python
使用Python简单的实现树莓派的WEB控制
Feb 18 Python
Python 迭代器与生成器实例详解
May 18 Python
Python在信息学竞赛中的运用及Python的基本用法(详解)
Aug 15 Python
Python 实现选择排序的算法步骤
Apr 22 Python
Python实现的读写json文件功能示例
Jun 05 Python
利用anaconda作为python的依赖库管理方法
Aug 13 Python
python 模拟创建seafile 目录操作示例
Sep 26 Python
Python编程快速上手——强口令检测算法案例分析
Feb 29 Python
浅谈在django中使用redirect重定向数据传输的问题
Mar 13 Python
Selenium使用Chrome模拟手机浏览器方法解析
Apr 10 Python
解决pymysql cursor.fetchall() 获取不到数据的问题
May 15 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
smarty模板嵌套之include与fetch性能测试
2010/12/05 PHP
curl实现站外采集的方法和技巧
2014/01/31 PHP
PHP实现动态柱状图改进版
2015/03/30 PHP
php实现将数据做成json的格式给前端使用
2018/08/21 PHP
jQuery bind事件使用详解
2011/05/05 Javascript
javascript权威指南 学习笔记之null和undefined
2011/09/25 Javascript
JavaScript 图像动画的小demo
2012/05/23 Javascript
自己写了一个展开和收起的多更能型的js效果
2013/03/05 Javascript
javascript的内存管理详解
2013/08/07 Javascript
js判断滚动条是否已到页面最底部或顶部实例
2014/11/20 Javascript
深入理解JavaScript中的对象
2015/06/04 Javascript
浅谈JSON.parse()和JSON.stringify()
2015/07/14 Javascript
JavaScript入门教程之引用类型
2016/05/04 Javascript
AngularJs自定义服务之实现签名和加密
2016/08/02 Javascript
jQuery生成假加载动画效果
2016/12/01 Javascript
很棒的vue弹窗组件
2017/05/24 Javascript
JS中的Replace()传入函数时的用法详解
2017/09/11 Javascript
微信小程序利用canvas 绘制幸运大转盘功能
2018/07/06 Javascript
Vue源码解读之Component组件注册的实现
2018/08/24 Javascript
Vuex实现数据增加和删除功能
2019/11/11 Javascript
JavaScript中clientWidth,offsetWidth,scrollWidth的区别
2021/01/25 Javascript
[01:08:48]LGD vs OG 2018国际邀请赛淘汰赛BO3 第三场 8.25
2018/08/29 DOTA
[49:11]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第二场 12.20
2020/12/23 DOTA
python判断windows系统是32位还是64位的方法
2015/05/11 Python
解决python中用matplotlib画多幅图时出现图形部分重叠的问题
2019/07/07 Python
python 字典有序并写入json文件过程解析
2019/09/30 Python
如何用python写个模板引擎
2021/01/14 Python
让IE可以变相支持CSS3选择器
2010/01/21 HTML / CSS
美国领先的在线旅游网站:Orbitz
2018/11/05 全球购物
美国综合购物商城:UnbeatableSale.com
2018/11/28 全球购物
学习雷锋做美德少年寄语大全
2014/04/09 职场文书
党的群众路线对照检查材料(个人)
2014/09/24 职场文书
2015年教育实习工作总结
2015/04/24 职场文书
golang 在windows中设置环境变量的操作
2021/04/29 Golang
Pytorch中的数据集划分&正则化方法
2021/05/27 Python
opencv检测动态物体的实现
2021/07/21 Python