【问题标题】:Django INNER JOIN with GROUP BY queryset带有 GROUP BY 查询集的 Django INNER JOIN
【发布时间】:2013-07-16 22:48:31
【问题描述】:

如何在 Django 中获取以下 SQL 查询集?

SELECT abbreviation, COUNT(tat_value) FROM t_tat 
INNER JOIN t_tests ON t_tat.test_id = t_tests.test
GROUP BY test

这些是我的班级模型:

class tat(models.Model):
    test = models.ForeignKey(tests)
    tat_value
    ...

class tests(models.Model):
    test = models.IntegerField(primary_key=True, default=0)
    ...

【问题讨论】:

    标签: python sql django django-models


    【解决方案1】:

    django annotation 功能将执行此操作:

    from django.db.models import Count
    tests.objects.annotate(Count('tat'))
    

    如果这很重要,也可以使用values_list 向下选择缩写和计数。

    【讨论】:

    • 嗨彼得,非常感谢它确实有帮助!
    猜你喜欢
    • 2014-04-20
    • 1970-01-01
    • 2013-02-09
    • 1970-01-01
    • 2016-05-01
    • 2014-12-24
    • 2021-04-01
    • 2015-12-12
    • 1970-01-01
    相关资源
    最近更新 更多