首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

DjangoORM操作-查询数据

数据库查询需要使用管理器对象进行 通过mymodel.objects管理器方法调用查询对象 方法 说明 all() 查询全部记录,返回QuerySet查询对象 get() 查询符合条件单一记录 filter...() 查询符合条件多条记录 exclude() 查询符合条件外全部记录 all()方法 ---- 使用方法:Asset.objects.all() from monitor.models import...,内部存放是元组 会将查询出来数据封装到元组中,在封装到查询集合QuerySet中 >>> a = Asset.objects.values_list("create_date") >>> a...:Asset.objects.exclude(条件) 作用:返回不包含此条件数据集 # 查询数据库中 create_user为admin并且系统为Linux以外服务器信息 from monitor.models...="admin",system="Linux") for i in info: print("查询结果",i.create_date) 查询谓词 定义:做更灵活条件查询时候需要使用查询谓词 每一个查询谓词是一个独立查询功能

79220
您找到你想要的搜索结果了吗?
是的
没有找到

Django笔记(九)DjangoORM查询数据方法

建表 需求(1) 需求(2) 总结 value()函数,获取列表 value()函数,获取元组 总结 建表 目前有两个表,一个用户表,一个用户类型表,一个用户对应一类型,但是一个类型下面有好多用户...外是在用户表里面 需求(1) 根据查询出来用户,获取他用户类型,这个就是多表查询,实现代码是 先查询出用户,直接根据外字段获取他用户类型 需求(2) 根据一个用户类型,查询他下面的所有的用户...我们看用户类型表,只有一个字段,没有外,这个如何实现呢?...其实有一个隐含字段,写法是 总结 value()函数,获取列表 value()函数,获取元组 总结 以上方法 字典和元组是不可以跨表查询 以下写法是可以跨表

84720

DjangoORM F与Q查询

Django ORM 是创建 SQL 去查询和操作数据库一个 Python 式方式。 F查询 Q查询 F 查询 在前几个小章节里,构造过滤器都只是将字段值与某个常量做比较。...如果要对两个字段值做比较,那要怎么做呢? Django 提供了 F() 来做这样比较。F() 实例可以在查询中引用字段,来比较同一个 model 实例中两个不同字段值。...示例: 查询浏览数大于评论数文章 Django 支持 F() 对象之间以及 F() 对象和常数之间加减乘除和取模操作。...例如:在所有标题后面加上(原创) Q 查询 filter() 等方法中关键字参数查询都是一起进行 "AND"。如果需要执行更复杂查询(例如:OR 语句)可以使用 Q 对象。...同时,Q 对象可以使用 ~ 操作符取反,这允许组合正常查询和取反(NOT)查询。 示例: 查询作者名字是“小团子”并且不是2018年发表文章标题。 查询函数可以混合使用 Q 对象和关键字参数。

1K40

用人话讲解djangoORM查询语句

在日常开发中,数据库增删改查(CDUR)中,查询需求偏多,所以查询语法比增删改操作多得多,尤其是跨表关联查询,可以让代码精简很多。 直接上代码吧,我是直接在上次写视图函数中改写。...def orm_test(request): """ 增加操作 """ # 新增一个名字为1901一个班级,create是新增方法,里面可以接受多个字段参数 #...= Class.objects.get(name="1903") # stu_info左边key要和Student模型字段对应上,因为cls是外,所以要对应一个班级实例 # stu_info...,get返回实例,如果查询结果没有回报错, # filter查询返回结果是多个实例列表, # instance = Student.objects.get(pk=1) #instance...,起始表从班级表开始查询,反向查询 # stu_cls 是学生表中外别名 # queryset = Class.objects.get(name='1903').stu_cls.all

45910

Django进阶-5-ORM连表查询

一、反向连表查询 ① 通过object形式反向连表 obj.小写表名_set.all() publish=models.Publish.objects.filter(name__contains='长沙...').first() books=publish.book_set.all() for book in books: print(book.title) ② 通过object形式反向绑定外关系...objs.values("小写表名__字段") 注意对象集合调用values(),正向查询是外字段__XX,而反向是小写表名__YY看起来 比较容易混淆; books=models.Publish.objects.filter...models.Book.objects.filter(title__icontains='云团').values('author__name') print(authors) filter()也支持__小写表名语法进行连表查询...获取id小于10值 models.Tb1.objects.filter(id__lte=10) # 获取id大于1 且 小于10值 models.Tb1.objects.filter(id__lt=

1.6K21

DjangoORM

查询集 返回一个对象集合 调用如下方法会返回查询集 filter all order_by exclude 返回条件之外数据 exists 判断查询集是否有数据, 返回 true false first...all(): 查询所有结果 get(**kwargs): 返回与所给筛选条件相匹配对象,返回结果有且只有一个,如果符合筛选条件对象超过一个或者没有都会抛出错误。...-----------下面的方法都是对查询结果再进行处理:比如 objects.filter.values()-------- values(*field): 返回一个ValueQuerySet...(*field): 对查询结果排序 reverse(): 对查询结果反向排序 distinct(): 从返回结果中剔除重复纪录 values_list(*field): 它与values...()非常相似,它返回是一个元组序列,values返回是一个字典序列 count(): 返回数据库中匹配查询(QuerySet)对象数量。

43320

Django进阶-9-ORM分组与聚合查询

一 、ORM 查询性能 ① 普通查询 #for循环10次发送10次数据库查询请求 obj_list=models.Articles.objects.all() for row in obj_list...: print(row.name) 这种查询方式第一次发送 查询请求每for循环一次也会发送查询请求 ② select_related() 结果为对象 注意query_set类型对象...,所以出现prefetch_related; prefetch_related:不做连表,多次单表查询表 ,去重之后显示, 2次单表查询(有几个外做几次1+N次单表查询) 适用场景:效率高,数据量大时候适用...aggregate() 中每一个参数都指定一个包含在字典中返回值。即在查询集上生成聚合。...from django.db.models import Avg,Sum,Max,Min #求书籍平均价 ret=models.Book.objects.all().aggregate(Avg('price

95820

python测试开发django-76.ORM查询之Q查询

前言 ORM 使用 filter() 查询时候,当有多个条件时候,可以使用 Q 查询 Q 查询 or 如有个 Card 模型,表里面有以下数据 ?...查询 card_user 名称为 YOYO 或 yoyo数据,使用 SQL 可以这样查询 select * from yoyo_card where card_user = 'YOYO' or 'yoyo...'; filter() 查询查询或关系 MyDjango>python manage.py shell >>> from yoyo.models import Card >>> from django.db.models...同时满足2个条件,使用 & 和 and 都可以 MyDjango>python manage.py shell >>> from yoyo.models import Card >>> from django.db.models...not Q 对象可以使用~ 操作符取反,这允许组合正常查询和取反(NOT) 查询 查询 card_user = ‘YOYO’ 并且 add_time 日期不是 21号数据 >>> Card.objects.filter

43210

Django ORM 查询表中某列字段值方法

下面看下Django ORM 查询表中某列字段值,详情如下: 场景: 有一个表中某一列,你需要获取到这一列所有值,你怎么操作?...QuerySet,内容是键值对构成为表列名,值为对应每个值。...QuerySet,但是内容是元祖形式查询值。...查看高阶用法,告诉你怎么获取一个值list,如: [‘测试feed’, ‘今天’, ‘第三个日程测试’, ‘第四个日程测试’, ‘第五个测试日程’] 到此这篇关于Django ORM 查询表中某列字段值文章就介绍到这了...,更多相关django orm 字段值内容请搜索ZaLou.Cn以前文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn!

11.7K10

DjangoORM简介

模型是Python中一个类,它是由django.db.models.Moduel派生出一个子类 一个模型类就代表数据库中一张表 模型类中每一个类属性都代表数据库中一个字段 模型是数据交互接口...,是表示和操作数据库方法和方式 ORM框架 定义:ORM(Object Relation Mapping)即对象关系映射,它是一种程序技术,它允许你使用类和对象数据库进行操作,从而进行避免通过SQL...缺点 对于复杂业务,使用成本较高… 根据对象操作转换成SQL语句,根据查询结果转化成对象,在映射过程中有性能损失 世间万物 即无完美 ORM DataBase Class(类) Table...(数据表) Object(对象) DataRow(数据行) Attribute(属性) Field(字段) 模型代码示例 该文件位于APPmodels.py from django.db import...migrations文件同步回数据库 模型类-创建 from django.db import models class 模型类名(models.Model): 字段名 = models.字段类型

57620
领券