django-1.6.1的补丁,允许您使用postgres的array_accum函数。它在django.db.models中添加函数arrayaccum。使用arrayaccum只能在postgresql上工作。首先安装django-1.6.1,然后安装此软件包。

Django-ArrayAccum的Python项目详细描述


django是一个鼓励快速开发的高级python web框架 干净实用的设计。此修补程序(pypi上的pkg name django array accum)允许您使用postgresql中提供的array_accum函数。此函数将not在其他数据库中工作。如果您对postgresql很满意,并且希望能够在django中使用array_accum(而不是编写自定义sql),那么可以尝试使用这个fork。

这个补丁是为django-1.6.1创建的。安装此修补程序之前,请先安装django-1.6.1。

此修补程序修改两个文件。

  1. django/db/models/aggregates.py
  2. django/db/models/sql/aggregates.py

这将添加一个名为arrayaccum的函数,然后可以在任何涉及聚合的查询中使用该函数(类似于内置的sum、avg等)。

示例用法: 假设您有一个这样定义的模型:

class People(models.Model):
    first_name = models.CharField(max_length=100)
    last_name = models.CharField(max_length=100)

假设您想显示最常见的姓氏、计数、关联的名字,那么您可以这样做:

from django.db.models import Count, ArrayAccum
results = People.objects.values("last_name").annotate(count=Count('id'),
                        unique_first_names=ArrayAccum("first_name", distinct=True)).order_by('-count')

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
无JPA的纯Hibernate ORM java SpringBoot配置   安卓会生成一组唯一的java数字   java我的自定义阵列列表每次启动时都会崩溃我不确定为什么会一直崩溃   Java继承;将子类传递给超类的抽象方法   java从没有if语句的数组中获取instanceof type   java中使用对象的温度转换   存储库接口的JavaSpringDataMongoDBeanXML配置   java JAXWS为iBM websphere、iBM web服务客户端添加寻址   数组试图返回Java中两个对象的面积之和   apache Spark java:columnNameOfCorruptRecord和badRecordsPath在加载csv时不工作   java无法创建。txt文件   java Hibernate与MySQL插入查询不一致   不考虑java Hazelcast分布式地图的最大大小   bash Java如何在父进程中设置环境变量