在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 相关文章推荐
Python3实现抓取javascript动态生成的html网页功能示例
Aug 22 Python
Python使用win32com模块实现数据库表结构自动生成word表格的方法
Jul 17 Python
Python-ElasticSearch搜索查询的讲解
Feb 25 Python
Python实现的序列化和反序列化二叉树算法示例
Mar 02 Python
详解python中的数据类型和控制流
Aug 08 Python
Python values()与itervalues()的用法详解
Nov 27 Python
Python pygame绘制文字制作滚动文字过程解析
Dec 12 Python
Python 脚本的三种执行方式小结
Dec 21 Python
Python 从attribute到property详解
Mar 05 Python
scrapy利用selenium爬取豆瓣阅读的全步骤
Sep 20 Python
Pycharm 解决自动格式化冲突的设置操作
Jan 15 Python
python 获取计算机的网卡信息
Feb 18 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 面向对象实现代码
2009/11/11 PHP
php生成唯一的订单函数分享
2015/02/02 PHP
PHP将进程作为守护进程的方法
2015/03/19 PHP
php结合正则获取字符串中数字
2015/06/19 PHP
php实现上传图片文件代码
2015/07/19 PHP
配置Nginx+PHP的正确思路与过程
2016/05/10 PHP
PHP后端银联支付及退款实例代码
2017/06/23 PHP
PHP反射原理与用法深入分析
2019/09/28 PHP
纯CSS3实现质感细腻丝滑按钮
2021/03/09 HTML / CSS
Javascript中获取出错代码所在文件及行数的代码
2010/09/23 Javascript
IE中jquery.form中ajax提交没反应解决方法分享
2012/09/11 Javascript
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
2013/01/04 Javascript
ExtJS[Desktop]实现图标换行示例代码
2013/11/17 Javascript
jquery插件冲突(jquery.noconflict)解决方法分享
2014/03/20 Javascript
JQuery中serialize()、serializeArray()和param()方法示例介绍
2014/07/31 Javascript
如何正确使用Nodejs 的 c++ module 链接到 OpenSSL
2014/08/03 NodeJs
Javascript前端UI框架Kit使用指南之Kitjs简介
2014/11/28 Javascript
浅谈jQuery animate easing的具体使用方法(推荐)
2016/06/17 Javascript
ionic组件ion-tabs选项卡切换效果实例
2016/08/27 Javascript
Jil,高效的json序列化和反序列化库
2017/02/15 Javascript
bootstrap Table插件使用demo
2017/08/07 Javascript
Vue如何从1.0迁移到2.0
2017/10/19 Javascript
Vue-Router实现组件间跳转的三种方法
2017/11/07 Javascript
Vue组件之自定义事件的功能图解
2018/02/01 Javascript
vue按需加载实例详解
2019/09/06 Javascript
[50:12]EG vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python使用reportlab将目录下所有的文本文件打印成pdf的方法
2015/05/20 Python
浅谈Python类的__getitem__和__setitem__特殊方法
2016/12/25 Python
pytorch实现保证每次运行使用的随机数都相同
2020/02/20 Python
Python+logging输出到屏幕将log日志写入文件
2020/11/11 Python
兰蔻加拿大官方网站:Lancome加拿大
2016/08/05 全球购物
实习报告评语
2014/04/26 职场文书
党的群众路线教育实践活动对照检查材料(个人)
2014/09/24 职场文书
营业员岗位职责范本
2015/04/14 职场文书
公司仓库管理制度
2015/08/04 职场文书
Python自动化工具之实现Excel转Markdown表格
2022/04/08 Python