相关疑难解决方法(0)

如何在django中查询GROUP BY?

我查询一个模型,

Members.objects.all()
Run Code Online (Sandbox Code Playgroud)

它返回说

Eric, Salesman, X-Shop
Freddie, Manager, X2-Shop
Teddy, Salesman, X2-Shop
Sean, Manager, X2-Shop
Run Code Online (Sandbox Code Playgroud)

我想要的是,知道最好的Django方法来触发group_by查询到我的数据库,就像,

Members.objects.all().group_by('designation')
Run Code Online (Sandbox Code Playgroud)

哪个当然不起作用.我知道我们可以在"django/db/models/query.py"上做一些技巧,但我很想知道如何在没有修补的情况下做到这一点.

python django django-models

304
推荐指数
8
解决办法
26万
查看次数

Django和Aggregate:不同值的总和?

我正在尝试执行django聚合函数,但无法产生所需的结果.

我得到了什么:

income_posts.values_list('category__name','amount')
[(u'Donation', Decimal("2000.00")), (u'Paycheck', Decimal("1200.00")), (u'Donation', Decimal("1000.00"))]
Run Code Online (Sandbox Code Playgroud)

期望的结果:

[(u'Donation', Decimal("3000.00")), (u'Paycheck', Decimal("1200.00))]
Run Code Online (Sandbox Code Playgroud)

我需要对具有相同category__name的'amount'字段求和.

django django-orm

12
推荐指数
4
解决办法
2万
查看次数

如何在Django ORM中执行GROUP BY ... COUNT或SUM?

序幕:

这是SO中经常出现的问题:

我已经在SO文档中编写了一个示例,但由于文档将于2017年8月8日关闭,我将遵循这个广泛上升和讨论的元答案的建议,并将我的示例转换为自我回答的帖子.

当然,我也很乐意看到任何不同的方法!


题:

假设模型:

class Books(models.Model):
    title  = models.CharField()
    author = models.CharField()
    price = models.FloatField()
Run Code Online (Sandbox Code Playgroud)

如何使用Django ORM在该模型上执行以下查询:

python django group-by django-orm

6
推荐指数
1
解决办法
6705
查看次数

如何使用Django执行SQL LEFT JOIN?

基本上我需要每个条目评论的计数:

SELECT e.*, COUNT(c.id) as comments FROM blog_entry e LEFT JOIN blog_comment c ON e.id = c.entry_id GROUP BY e.id, e.name, e.name_slug, e.date_published, e.category, e.image, e.body, e.is_published, e.views, e.subscription_sent ORDER BY e.date_published DESC LIMIT 15;
Run Code Online (Sandbox Code Playgroud)

但我不知道如何使用Django来解决这个问题.

这是我到目前为止,它完美的工作,除了没有评论计数.有人能指出我正确的方向使用Django进行这样的连接吗?

from project.blog.models import Entry, Comment

def index(request):
    latest_entry_list = Entry.objects.filter(is_published=True).order_by('-date_published')[:15]
    return render_to_response('blog/index.html', {'latest_entry_list': latest_entry_list)
Run Code Online (Sandbox Code Playgroud)

database django postgresql performance

2
推荐指数
1
解决办法
6509
查看次数