Django 中的 GROUP_CONCAT 等效项

2023-11-24

假设我有下表fruits:

id | type   | name
-----------------
 0 | apple  | fuji
 1 | apple  | mac
 2 | orange | navel

我的目标是最终计算出不同的数量types以及以逗号分隔的列表names:

apple, 2, "fuji,mac"
orange, 1, "navel"

这可以很容易地完成GROUP_CONCAT在 MySQL 中,但我在 Django 等价物上遇到了麻烦。这是我到目前为止所拥有的,但我缺少GROUP_CONCAT stuff:

query_set = Fruits.objects.values('type').annotate(count=Count('type')).order_by('-count')

如果可能的话,我想避免使用原始 SQL 查询。

任何帮助将不胜感激!

谢谢! =)


您可以创建自己的聚合函数(doc)

from django.db.models import Aggregate

class Concat(Aggregate):
    function = 'GROUP_CONCAT'
    template = '%(function)s(%(distinct)s%(expressions)s)'

    def __init__(self, expression, distinct=False, **extra):
        super(Concat, self).__init__(
            expression,
            distinct='DISTINCT ' if distinct else '',
            output_field=CharField(),
            **extra)

并将其简单地用作:

query_set = Fruits.objects.values('type').annotate(count=Count('type'),
                       name = Concat('name')).order_by('-count')

我正在使用 django 1.8 和 mysql 4.0.3

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

Django 中的 GROUP_CONCAT 等效项 的相关文章

  • Django 简单历史 - save_without_historical_record() 对我不起作用

    我花了两天时间努力完成这项工作 我正在尝试使用 Django Simple History 进行记录而不保存历史记录 情况如下 我有一个模型 class Artikel models Model treaty models ForeignK
  • 会话数据库表清理

    该表是否需要清除或者由 Django 自动处理 Django 不提供自动清除功能 然而 有一个方便的命令可以帮助您手动完成此操作 Django 文档 清除会话存储 https docs djangoproject com en dev to
  • Django TastyPie 地理距离查找

    我正在使用 TastyPie 进行地理距离查找 这有点困难 因为 TastyPie 官方不支持它 在 Github https gist github com 1067176 上我找到了以下代码示例 def apply sorting se
  • Django - 在长时间处理期间显示加载消息

    我怎样才能显示请稍等从 django 视图加载消息 我有一个 Django 视图 需要花费大量时间对大型数据集执行计算 当进程加载时 我想向用户呈现一条反馈消息 例如 旋转加载动画 gif 或类似消息 在尝试了布兰登和穆拉特提出的两种不同方
  • 让登录更安全

    我已使用此代码进行管理员登录 仅当用户输入正确的用户名和密码时才应打开loginhome php 但后来我意识到这根本不安全 任何人都可以直接访问 mywebsite loginhome php 而无需登录 注销后 可以使用后退按钮打开 l
  • ORDER BY 字段内的 MySQL 子查询。 (没有内连接)

    有很多与此相关的问题 但都具有使用内部联接的相同答案 这 我认为 在这里是不可能的 如果我错了请告诉我 我现在正在做的是调用两个不同的 mysql 查询来获取结果 它工作完美 db gt query SELECT FROM meta WHE
  • 从 Django 运行 shell 命令

    我正在 Django 中开发一个网页 使用 apache 服务器 需要调用 shell 命令来启用 禁用一些守护进程 我尝试这样做 os system service httpd restart 1 gt HOME out 2 gt HOM
  • 将庞大数据库从亚马逊RDS导出到本地mysql

    我在 Amazon RDS 上有一个 mysql 数据库 大约 600GB 数据 我需要将其移回本地专用服务器 但我不知道从哪里开始 每次我尝试初始化 sqldump 时它都会冻结 有没有办法将其移至 S3 甚至可能在开始下载之前将其分成更
  • django npm 和 Node 包架构

    在我加入的项目中 这是以下架构node packages Django project app1 app2 node modules foundation sites grunt static css images js urls py s
  • PyCharm 中有 HTML 块 {%%} 的快捷方式吗?

    我正在使用 HTML 块 例如 block content 经常使用 但必须输入括号和百分比符号很麻烦 有没有捷径或其他方法可以自动执行此操作 到目前为止我刚刚发现这个 PyCharm 中有插入 的快捷方式吗 https stackover
  • 如何在 Django REST Framework 中序列化“对象列表”

    我需要一个序列化器来完成这样的事情 items 12 name item 1 66 name item 2 我应该如何声明我的序列化器才能得到这样的东西 这是否是一个有效的 JSON 还是应该如下所示 items name item 1 i
  • 404因为重新启动webpack-dev-server

    当我尝试更改反应组件并保存它以查看热加载器是否更新了我的页面时 我在开发人员工具中得到了这个 GET http localhost 3000 public bundle 76566a1ad7e45b834d4e hot update jso
  • Django 之外的 Django 模型

    我有一个非 Django 项目 我想使用 Django 模型作为数据访问层 添加了模型库requirements txt django model utils 3 1 1 代码设置如下 from django conf import set
  • SQL查询查找表的主键?

    我怎样才能找到哪一列首要的关键使用查询来创建表 这是重复的question https stackoverflow com questions 893874 mysql determine tables primary key dynami
  • 使用 MongoDB 作为我们的主数据库,我应该使用单独的图数据库来实现实体之间的关系吗?

    我们目前正在为一家专业公司内部实施类似 CRM 的解决方案 由于存储信息的性质以及信息的不同值和键 我们决定使用文档存储数据库 因为它完全适合目的 在本例中我们选择 MongoDB 作为此 CRM 解决方案的一部分 我们希望存储实体之间的关
  • Django Rest Framework 是否有第三方应用程序来自动生成 swagger.yaml 文件?

    我有大量的 API 端点编写在django rest framework并且不断增加和更新 如何创建和维护最新的 API 文档 我当前的版本是 Create swagger yaml文件并以某种方式在每次端点更改时自动生成 然后使用此文件作
  • MySQL 追加字符串

    How can I append a string to the end of an existing table value Let s say I have the table below And let s say that Mari
  • 如何使用 DJango Rest Framework 上传多个图像?

    我可以使用以下代码上传单个图像 如果我选择多个图像 则仅上传所选图像中的最后一个图像 模型 py class Image models Model property id models ForeignKey properties Addre
  • Django添加简单自定义字段——如何编写South Introspection规则

    我正在尝试将自定义字段添加到我的 Django 项目中 该项目使用South http south aeracode org 因此 我 第一次 尝试写南方的自省规则 http south aeracode org wiki MyFields
  • django Q 对象嵌套reduce

    得到非常复杂的查询 请不要尝试解决示例 问题更复杂 crit crit append Q firstcond name Q firstcond isnull True crit append Q secondcond name Q firs

随机推荐

  • 如何在java eclipse中将其他maven项目的依赖添加到我当前的maven项目中?

    我想在我的maven项目1中使用maven项目2类 这样我就可以将它用作父类 你能告诉我如何使用 eclipse 和 JAVA 来做到这一点吗 请写下逐步导航 因为我是 Maven 新手 提前致谢 我知道为时已晚但这可以帮助其他正在寻找同样
  • Excel VBA高效获取文件名函数

    我需要使用 Excel 2010 中的 VBA 从远程服务器上的文件夹中获取文件名集合 我有一个可以工作的函数 并且在大多数情况下它可以完成这项工作 但是远程服务器经常出现糟糕的情况 terrible网络性能问题 这意味着循环遍历 300
  • 异常处理指南 - Python 与 Java

    我是原始的 Java 开发人员 对我来说 Java 中的检查异常显然 很容易让我决定捕获它或将其扔给调用者稍后处理 然后是Python 没有受检查的异常 所以从概念上讲 没有什么会强迫你处理任何事情 根据我的经验 如果不检查文档 你甚至不知
  • 获取backstack中最新的fragment

    如何获取添加到 backstack 中的最新片段实例 如果我不知道片段标签和 id FragmentManager fragManager activity getSupportFragmentManager FragmentTransac
  • Android:如何制作 GroupBox 小部件?

    Android 似乎没有提供如此有用的小部件 但是 我的屏幕设计需要这样的视图 此外 交互设计要求根据其他数据显示和隐藏此类框 当然 我可以从 XML 布局中的单独元素 例如 从其上的形状和文本视图 构造这样的框 但管理它们的可见性会变得很
  • PhpMyAdmin 错误:令牌不匹配

    我最近在 xampp 上的 apache 上安装的本地安装中遇到错误 我正在运行 phpmyadmin v4 0 5 错误描述为错误 令牌不匹配 有其他人经历过这个并找到解决办法吗 您可以尝试以下方法 找到 XAMPP php ini 文件
  • 在 RMarkdown 的输出中显示代码块名称

    正如 RMarkdown 中所知 代码块可以这样命名 r chunkname plot x y 是否可以在输出文档中显示块名称 您可以使用knitr opts current get label example r cars library
  • 什么 Java 数据类型对应于 Oracle SQL 数据类型 NUMERIC?

    Oracle JDBC 驱动程序将什么 Java 数据类型分配给 Oracle SQL 数据类型NUMERIC 这会随着尺寸的变化而变化吗NUMERIC type 正如其他人已经说过的 驱动程序将所有内容映射到 BigDecimal 即使它
  • macOS 上的 Clang 无法从 ncurses 链接 lmenu

    我是使用 ncurses 库的新手 所以我一直在尝试重新创建此页面上的一些示例 http www tldp org HOWTO NCURSES Programming HOWTO index html 我已经获得了有关创建菜单的部分 特别是
  • 我想找到填充或搜索,猫鼬

    我的模型代码 var user mongoose Schema email password name company position phoneNumber signDate Date friends type mongoose Sch
  • 如何读取 Python 请求的响应?

    我有两个 Python 脚本 一个使用的是urllib2库一个使用请求库 我发现 Requests 更容易实现 但我找不到 urlib2 的等效项read 功能 例如 response url urlopen req print respo
  • 为什么 Linux 内核中没有零拷贝网络? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我想知道为什么linux内核 或任何其他主流操作系统 没有零拷贝网络功能的原因 我所说的零复制是指 数据包 数据流不会被复制以传递到用户空间中的应用程序 但例如使用内存池类型的分配器在内核
  • C++11 和 C++03 在对 std::string 小字符串优化的支持方面有所不同?

    在C 11标准的兼容性附录中 C 03到C 11的变化之一描述如下 C 2 11 第 21 条 字符串库 21 4 1 Change 放宽 basic string 失效规则 基本原理 允许小字符串优化 对原始特征的影响 可以执行有效的 C
  • 如何在 Three.js 中覆盖 GLTF 材质

    我正在尝试创建一种动态方式来在 Three js 中的 gltf 导入模型上显示太阳能数据 目的是将不同的纯色与模型的不同部分相关联 并能够关闭和打开它们 我当前的障碍是改变 gltf 中材质的颜色 我尝试使用 ObjLoader 来代替
  • CSS - 是否可以在父元素中选择多个不同的子元素而不重复父元素?

    我整个下午都在研究 CSS 选择器 试图找到这个问题的答案 因为它看起来很简单 但我一生都找不到任何解决方案 给定类似于以下的结构 div div
  • NullInjectorError:R3InjectorError(AppModule)[路由器 - >路由器 - >路由器]:NullInjectorError:没有路由器的提供者

    我有一个已发布的库 其中包含一个在其模板中使用 routerLink 的组件 在我的应用程序中安装库后 出现错误NullInjectorError R3InjectorError AppModule 路由器 gt 路由器 gt 路由器 Nu
  • 用于创建二维数组的数组和分割命令

    我在使用 split 命令填充数组时遇到一些问题 我目前拥有的字符串如下 MyString Row1 Column1 Row1 Column2 Row1 Column3 vbNewLine Row2 Column1 Row2 Column2
  • 如何更改flutter应用程序键盘颜色?

    在我的 flutter 中 我创建了一个 TextFormField 但它的键盘颜色在 iOS 中是黑色的 我想知道如何将其更改为白色 flutter语言版本 gt 2 2 2 这是我关于 TextFormField 的代码 TextFor
  • 使用 sed 从 javascript 文件中删除所有 console.log

    我正在尝试删除我的所有console log console dir等等 然后用 YUI 缩小它 on osx 我得到的控制台语句的正则表达式如下所示 console log debug info warn error assert dir
  • Django 中的 GROUP_CONCAT 等效项

    假设我有下表fruits id type name 0 apple fuji 1 apple mac 2 orange navel 我的目标是最终计算出不同的数量types以及以逗号分隔的列表names apple 2 fuji mac o