首页
学习
活动
专区
圈层
工具
发布

Django ORM 查询表中某列字段值

场景: 有一个表中的某一列,你需要获取到这一列的所有值,你怎么操作?...title': '第三个日程测试'}, {'title': '第四个日程测试'}, {'title': '第五个测试日程'}]> 方式一获取到的是一个QuerySet,内容是键值对构成的,键为表的列名,值为对应的每个值...QuerySet [('测试feed',), ('今天',), ('第三个日程测试',), ('第四个日程测试',), ('第五个测试日程',)]> 方式二获取到的也是一个QuerySet,但是内容是元祖形式的查询列的值...但是我们想要的是这一列的值呀,这怎么是一个QuerySet,而且还包含了列名,或者是被包含在了元祖中?...查看高阶用法,告诉你怎么获取一个值的 list,如:['测试feed', '今天', '第三个日程测试', '第四个日程测试', '第五个测试日程']

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

    Django的ORM操作-查询数据

    数据库的查询需要使用管理器对象进行 通过mymodel.objects管理器方法调用查询对象 方法 说明 all() 查询全部记录,返回QuerySet查询对象 get() 查询符合条件的单一记录 filter...,需要用字典的取值方法 values_list方法 ---- 用法:Asset.objects.values_list() 作用:以元组的方式查询结果 返回值:QuerySet容器对象...),)]> 注意这个时候取回来的值是元组的形式,需要用元组的取值方法...filter() ---- 用法:Asset.objects.filter(属性1=值1,属性2=值2),当多个属性在一起为与关系 作用:返回包含此条件的全部数据集 返回值:QuerySet容器对象,...--- info = Asset.objects.filter(id__exact=1) # 等同于 select * from asset where id = 1 __contains 包含指定值

    1.1K20

    Django之ORM 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 对象和关键字参数。

    1.2K40

    Django进阶-5-ORM连表查询

    一、反向连表查询 ① 通过object的形式反向连表 obj.小写表名_set.all() publish=models.Publish.objects.filter(name__contains='长沙...authorobj.book_set.add(*objects) authorobj.save() ③ 通过values双下滑线的形式 objs.values("小写表名__字段") 注意对象集合调用values(),正向查询是外键字段...models.Book.objects.filter(title__icontains='云团').values('author__name') print(authors) filter()也支持__小写表名语法进行连表查询...publishs) 二 、利用双下划线将字段和对应的操作连接起来 ① 获取个数 models.Tb1.objects.filter(name='seven').count() ② 大于,小于 # 获取id大于1的值...(id__lt=10) # 获取id小于10的值 models.Tb1.objects.filter(id__lte=10) # 获取id大于1 且 小于10的值 models.Tb1.objects.filter

    1.7K21

    用人话讲解django之ORM的查询语句

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

    56410

    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

    50710

    python测试开发django-75.ORM根据日期查询(__range)

    前言 在使用django的 ORM 查询时候,我想查询最近3天的数据,需根据日期查询某一段时间的数据 时间筛选方式 可以根据 year、month、day、week_day 查询对应时间的记录 比如我表里面的字段是...add_time, model 模型名称是 Card 先进 shell 交互模式,使用__year查询2020年的所有数据 MyDjango>python manage.py shell >>> from...ORM 里面可以使用__range 来限制查询范围,如果我想获取最近三天的范围,先获取系统的当前时间。...也可以使用 Q 查询,先导入 Q from django.db.models import Q 查询大于 start_date 日期,并且小于 now 日期。...(InteractiveConsole) >> from yoyo.models import Card >> from django.db.models import Q >> import datetime

    1.9K20

    SQL查询和删除重复值的操作方法

    如题,SQL查询和删除重复值,例子是在Oracle环境下,类似写法网上很多。...1、利用distinct关键字去重 2、利用group by分组去重(这里没有实验出来就不写了) 3、利用rowid查询去重(个人推荐这个,rowid查询速度是最快的) 先一张测试表(USERS),里面有很多重复数据...*/ select distinct username,password from users; image.png 方法二:用rowid方法进行全字段重复查询,也可以按字段查询重复值 注:先查询出最后一条的全字段重复值...,在用rowid找出其他剩余的重复值 select * from users u01 where rowid!...(这里删除的是全字段重复的数据,根据不同情况where后面条件适当修改) delete from users u01 where rowid!

    2.7K00
    领券