Django数据库orm操作以list形式获取数据库中某列所有值

2023-10-31

问题:

如图所示,Django数据库中存储如下字段。

这是在前端渲染出的数据。现在的需求是:要把factory这一列数据从后端数据库提取出来得到一个list方便后续的(select option)使用。有两种方式

  1. 不重新写接口,直接先获取factory所有数据,然后在前端数据处理成list形式(显然不可取)
  2. 重新写接口,直接在后端就单独取出这一列数据,前端直接用就好了(减少了前端的负担)

问题来了,Django封装了sql的语句操作,没有用到sql的语法。得去看看Django ORM是怎么射的,关键词:获取一列的所有值得到列表。
请添加图片描述

解决办法:

model为:Factory

方式一:

代码:

Factory.objects.values('factory')

输出内容:

<QuerySet [{‘factory’: ‘520’}, {‘factory’: ‘123’}, {‘factory’:
‘5201314’}, {‘factory’: ‘1314520’}, {‘factory’: ‘2222’}]>

方式一获取到的是一个QuerySet,内容是键值对构成的,键为表的列名,值为对应的每个值。

方式二:

代码:

Factory.objects.values_list('title')

输出内容:

<QuerySet [(‘520’,), (‘123’,), (‘5201314’,), (‘1314520’,),
(‘2222’,)]>
方式二获取到的也是一个QuerySet,但是内容是元祖形式的查询列的值。

方式三:

代码:

  ftyNameList=list(Factory.objects.values_list('factory',flat=True))

输出内容:

['520', '地球牌光伏板', '1314520', '5201314', '宇宙牌光伏板']

写在最后

Django还有q查询和F查询,sql的每一种操作在Django中应该都有对应语句实现

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django数据库orm操作以list形式获取数据库中某列所有值 的相关文章

随机推荐

  • 阿里开源的这款缓存框架,太强了!

    Java基基 2023 09 09 11 55 发表于上海 这是一个或许对你有用的社群 一对一交流 面试小册 简历优化 求职解惑 欢迎加入 芋道快速开发平台 知识星球 下面是星球提供的部分资料 项目实战 视频 从书中学 往事中 练 互联网高
  • Ubuntu18.04安装WPS后缺失字体

    系统环境 Ubuntu18 04 6 LTS 问题 WPS缺少字体 解决方法 1 下载字体库 wps symbol fonts zip 链接 https pan baidu com s 1HBKWlYKjb6w8 d9yBzbnlw pwd
  • IDEA 开发 vue项目 初学者配置和运行(mac版)

    前言 vue建议用VSCode进行开发 不是必要就不要用Idea啦 VSCode是免费的 直接移步官网直接下载 Tip1 安装插件 打开idea 首页选择configure gt plugins 搜索vue 安装vue js 按照提示操作即
  • vue中mixin的一点理解

    vue中提供了一种混合机制 mixins 用来更高效的实现组件内容的复用 最开始我一度认为这个和组件好像没啥区别 后来发现错了 下面我们来看看mixins和普通情况下引入组件有什么区别 组件在引用之后相当于在父组件内开辟了一块单独的空间 来
  • 实锤研究,ChatGPT能力掉线!

    早在一个多月前 ChatGPT性能下降的传闻便开始在网上流行 不少订阅了Plus版的用户纷纷表示 感觉ChatGPT在经历了几轮更新后开始降智 甚至有时反应速度也会出现问题 而如今 这一传闻终于得到了证实 就在本周 斯坦福大学和加州大学伯克
  • Linux System Calls Hooking Method Summary LD_PRELOAD

    Linux System Calls Hooking Method Summary 相关学习资料 http xiaonieblog com post 121 http hbprotoss github io posts li yong ld
  • 给idea设置注释(超便捷)

    效果 打开设置 File gt settings gt Editor gt File and Code Templates gt Files 点击I 设置头文件 ClassName NAME Author USER create DATE
  • CSS实现流线边框

    使用css实现简单 流线边框 显示上下边框 实例图 html div class box h1 CSS h1 div
  • object对象转数组

    解决方案 let arr for let ip in harddisklist const item Object assign ip harddisklist ip arr push item arr push ip harddiskli
  • C# winform中调用摄像头,拍摄并保存图片!

    首先在NuGet中 下载AForge包 把这些都添加进项目中 1 命名空间和公共属性 using AForge Video DirectShow using System using System Drawing using System
  • 点云中截取自己想要的点云

    文章目录 一 利用python保留自己想要的点云 二 将txt转换为pcd 三 可视化对比 一 利用python保留自己想要的点云 1 python读取pcd点云文件 需要使用python的库open3d读取 在pycharm中打开终端 输
  • educoder算法设计与分析 实验五 回溯法拓展2

    实验五 回溯法拓展2 第1关 非递归实现皇后问题 第2关 递归算法解决皇后问题 第3关 素数圈 第1关 非递归实现皇后问题 题目描述 本关任务 在n n格的棋盘上放置彼此不受攻击的 n 个皇后 按照国际象棋的规则 皇后可以攻击与之处在同一行
  • oracle数据库的 date 和 timestamp 类型区别

    1 date类型存储数据的格式为年月日时分秒 可以精确到秒 timestamp类型存储数据的格式为年月日时分秒 可以精确到纳秒 9位 2 date类型 Date类型的数据可以显示到年月日 也可以显示到年月日时分秒 主要看存储数据的精确度 注
  • 《软件架构设计》一书目录

    第一部分软件架构概念与思想篇 1第1章解析软件架构概念 3 1 1软件架构概念的分类 3 1 1 1组成派 4 1 1 2决策派 5 1 2软件架构概念大观 5 1 2 1Booch Rumbaugh和Jacobson的定义 5 1 2 2
  • 机智的Open3D学习生活(第一集):入坑前的准备工作

    1 Open3D的开源项目地址 https github com isl org Open3D 2 Open3D的官网地址 http www open3d org 3 Open3D的文档地址 http www open3d org docs
  • Jetson 上cmake 带cuda 的程序报错

    报错信息为 找不到CUDA 架构 https blog csdn net qq 19449259 article details 128001426 把cuda 的nvcc 加入环境变量之后 又报了如下错误 报错信息如下 D CUDACC
  • 猿人学APP逆向第一题

    一 抓包 加密参数sign 二 静态分析 2 1搜索app1直接直接定位到请求位置 查看用例直接定位到加密位置 可以直接看到Sign sign 方法就是加密函数 2 2frida hook加密函数 一目了然 第一题太简单了就不过多分析 直接
  • JavaScript数据结构之栈

    JavaScript 数据结构之栈思维导图 JavaScript 数据结构之栈源码
  • MUI蓝牙打印(Android)

    MUI蓝牙打印 Android 使用MUI开发手机APP时使用蓝牙打印功能可能较少使用 MUI官方并为集成蓝牙打印功能 而且似乎对iPhone蓝牙打印的类库支持也不够完善 忙完一阶段后回顾下之前的工作 想想蓝牙打印功能折腾了够长时间了 写这
  • Django数据库orm操作以list形式获取数据库中某列所有值

    文章目录 问题 解决办法 方式一 方式二 方式三 写在最后 问题 如图所示 Django数据库中存储如下字段 这是在前端渲染出的数据 现在的需求是 要把factory这一列数据从后端数据库提取出来得到一个list方便后续的 select o